Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions _partials/_devops-cli-install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
1. ** Install $CLI_LONG**

Use the Terminal to install the $CLI_SHORT:
<Tabs label="Install Tiger CLI" persistKey="os">

<Tab title="Debian" label="debian">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.deb.sh | sudo os=any dist=any bash
sudo apt-get install tiger-cli
```

</Tab>

<Tab title="Ubuntu" label="ubuntu">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.deb.sh | sudo os=any dist=any bash
sudo apt-get install tiger-cli
```
</Tab>

<Tab title="Red Hat" label="redhat">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.rpm.sh | sudo os=rpm_any dist=rpm_any bash
sudo yum install tiger-cli
```

</Tab>

<Tab title="Fedora" label="fedora">

```shell
curl -s https://packagecloud.io/install/repositories/timescale/tiger-cli/script.rpm.sh | sudo os=rpm_any dist=rpm_any bash
sudo yum install tiger-cli
```

</Tab>

<Tab title="MacOs" label="macos">

```shell
brew install --cask timescale/tap/tiger-cli
```

</Tab>

<Tab title="x-platform" label="xplatform">

```shell
curl -fsSL https://tiger-cli-releases.s3.amazonaws.com/install/install.sh | sh
```

</Tab>

</Tabs>

1. **Set up API credentials**

1. Log $CLI_LONG into your $ACCOUNT_LONG

```shell
tiger auth login
```
$CLI_LONG opens $CONSOLE_SHORT in your browser. Login, then click `Authorize`.

1. Select a $PROJECT_LONG.

```terminaloutput
Auth URL is: https://console.cloud.timescale.com/oauth/authorize?client_id=lotsOfURLstuff
Opening browser for authentication...
Select a project:

> 1. Tiger Project (tgrproject)
2. YourCompany (Company wide project) (cpnproject)
3. YourCompany Department (dptproject)

Use ↑/↓ arrows or number keys to navigate, enter to select, q to quit
```
If only one $PROJECT_SHORT is associated with your $ACCOUNT_SHORT, this step is not shown.

Where possible, $CLI_LONG stores your authentication information in the system keychain/credential manager.
If that fails, the key is stored in `~/.config/tiger/api-key` with restricted file permissions (600).
$CLI_LONG stores your configuration in `~/.config/tiger/config.yaml`.

1. **Test your authenticated connection to $CLOUD_LONG by listing services**

```bash
tiger service list
```

This call returns something like:
- No services:
```terminaloutput
🏜️ No services found! Your project is looking a bit empty.
🚀 Ready to get started? Create your first service with: tiger service create
```
- One or more services:

```terminaloutput
┌────────────┬─────────────────────┬────────┬─────────────┬──────────────┬──────────────────┐
│ SERVICE ID │ NAME │ STATUS │ TYPE │ REGION │ CREATED │
├────────────┼─────────────────────┼────────┼─────────────┼──────────────┼──────────────────┤
│ tgrservice │ tiger-agent-service │ READY │ TIMESCALEDB │ eu-central-1 │ 2025-09-25 16:09 │
└────────────┴─────────────────────┴────────┴─────────────┴──────────────┴──────────────────┘
```


[rest-api-reference]: /api/:currentVersion:/api-reference/
[rest-api-credentials]: https://console.cloud.timescale.com/dashboard/settings
[get-project-id]: /integrations/:currentVersion:/find-connection-details/#find-your-project-and-service-id
[create-client-credentials]: /integrations/:currentVersion:/find-connection-details/#create-client-credentials
[curl]: https://curl.se/
72 changes: 72 additions & 0 deletions _partials/_devops-cli-service-forks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
import CLIINSTALL from "versionContent/_partials/_devops-cli-install.mdx";

Modern development is highly iterative. Developers and AI agents need safe spaces to test changes before deploying them
to production. Forkable $SERVICE_SHORTs make this natural and easy. Spin up a branch, run your test, throw it away, or
merge it back.

Forks are a powerful way to share production-scale data safely. BI and data science teams often need access to real
datasets to build models or generate insights. With forkable $SERVICE_SHORTs, you easily create instant, zero-copy
branches of a production $SERVICE_SHORT that is isolated from production, but contains all the data needed for
analysis. You share this fork with your analytics teams in seconds. This dramatically reduces friction getting insights
from live data.

Forks are fully independent. You can query them, run migrations, add indexes, or test new features.

To manage development forks:

<Procedure>

<CLIINSTALL />

1. **Fork the $SERVICE_SHORT**

```shell
tiger service fork tgrservice --now --no-wait --name bob
```
You see something like:

```terminaloutput
🍴 Forking service 'tgrservice' to create 'bob' at current state...
✅ Fork request accepted!
📋 New Service ID: trgbobserv
🔐 Password saved to system keyring for automatic authentication
🎯 Set service 'trgbobserv' as default service.
⏳ Service is being forked. Use 'tiger service list' to check status.
┌───────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ PROPERTY │ VALUE │
├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Service ID │ trgbobserv │
│ Name │ bob │
│ Status │ │
│ Type │ TIMESCALEDB │
│ Region │ eu-central-1 │
│ CPU │ 0.5 cores (500m) │
│ Memory │ 2 GB │
│ Direct Endpoint │ <service-id>.<project-id>.tsdb.cloud.timescale.com:<port> │
│ Created │ 2025-10-08 13:58:07 UTC │
│ Connection String │ postgresql://tsdbadmin@<service-id>.<project-id>.tsdb.cloud.timescale.com:<port>/tsdb?sslmode=require │
└───────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────┘
```

1. **When you are done, delete your forked $SERVICE_SHORT**

1. Use the CLI to request $SERVICE_SHORT delete:

```shell
tiger service delete trgbobserv
```
1. Validate the $SERVICE_SHORT delete:

```terminaloutput
Are you sure you want to delete service 'trgbobserv'? This operation cannot be undone.
Type the service ID 'trgbobserv' to confirm:
trgbobserv
```
You see something like:
```terminaloutput
🗑️ Delete request accepted for service 'trgbobserv'.
⏳ Waiting for service 'trgbobserv' to be deleted
✅ Service 'trgbobserv' has been successfully deleted.
```

</Procedure>
28 changes: 20 additions & 8 deletions use-timescale/backup-restore.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
---
title: Back up and recover your Tiger services
excerpt: See how and when Tiger backs up your data, making sure you always have something to fall back on in case of disaster recovery
title: Back up, fork, and recover services
excerpt: Tiger Cloud backs up your data, making sure you always have something to fall back on for disaster recovery
products: [cloud]
keywords: [backups, restore]
tags: [recovery, failures]
---

# Back up and recover your $SERVICE_SHORTs
import CLIFORKS from "versionContent/_partials/_devops-cli-service-forks.mdx";

$CLOUD_LONG automatically handles backup for your $SERVICE_LONGs using the `pgBackRest` tool. You don't need to perform backups manually. What's more, with [cross-region backup][cross-region], you are protected when an entire AWS region goes down.
# Back up, fork, and recover $SERVICE_SHORT

$CLOUD_LONG automatically creates one full backup every week, and
incremental backups every day in the same region as your $SERVICE_SHORT.
$CLOUD_LONG provides comprehensive backup and recovery solutions to protect your data, including automatic daily backups,
cross-region protection, point-in-time recovery, and development forks for testing and collaboration.

On [$SCALE and $PERFORMANCE][pricing-and-account-management] $PRICING_PLANs, you can check the list of backups for the previous 14 days in $CONSOLE_LONG. To do so, select your $SERVICE_SHORT, then click `Operations` > `Backup and restore` > `Backup history`.
## Automatic backups

$CLOUD_LONG automatically handles backup for your $SERVICE_LONGs using the `pgBackRest` tool. You don't need to perform
backups manually. What's more, with [cross-region backup][cross-region], you are protected when an entire AWS region goes down.

Additionally, all [Write-Ahead Log (WAL)][wal] files are retained back to the oldest full backup. This means that you always have a full backup available for the current and previous week:
$CLOUD_LONG automatically creates one full backup every week, and incremental backups every day in the same region as
your $SERVICE_SHORT. Additionally, all [Write-Ahead Log (WAL)][wal] files are retained back to the oldest full backup.
This means that you always have a full backup available for the current and previous week:

![Backup in Tiger](https://assets.timescale.com/docs/images/database-backup-recovery.png)

On [$SCALE and $PERFORMANCE][pricing-and-account-management] $PRICING_PLANs, you can check the list of backups for the previous 14 days in $CONSOLE_LONG. To do so, select your $SERVICE_SHORT, then click `Operations` > `Backup and restore` > `Backup history`.

In the event of a storage failure, a $SERVICE_SHORT automatically recovers from a backup
to the point of failure. If the whole availability zone goes down, your $SERVICE_LONGs are recovered in a different zone. In the event of a user error, you can [create a point-in-time recovery fork][create-fork].

Expand Down Expand Up @@ -107,6 +114,11 @@ You initiate a point-in-time recovery from a same-region or cross-region backup
</Tabs>


## Create a development fork

<CLIFORKS />


[console]: https://console.cloud.timescale.com/dashboard/services
[ha-replicas]: /about/use-timescale/:currentVersion:/ha-replicas/
[pricing-and-account-management]: /about/:currentVersion:/pricing-and-account-management/
Expand Down
24 changes: 23 additions & 1 deletion use-timescale/page-index/page-index.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,28 @@ module.exports = [
href: "service-management",
excerpt: "Tiger services operations, Service management tab",
},
{
title: "Service forks",
href: "forks",
excerpt: "Fork databases for testing, development, CI/CD, and disaster recovery",
children: [
{
title: "Quick start",
href: "quickstart",
excerpt: "Create your first fork with Console, CLI, or GitHub Actions",
},
{
title: "Strategies and limitations",
href: "performance",
excerpt: "Fork strategies, trade-offs, and important constraints",
},
{
title: "GitHub Actions integration",
href: "github-actions",
excerpt: "Automate fork creation in CI/CD workflows",
},
],
},
{
title: "Manually change resources",
href: "change-resources",
Expand Down Expand Up @@ -601,7 +623,7 @@ module.exports = [
],
},
{
title: "Back up and recover your services",
title: "Back up, fork, and recover services",
href: "backup-restore",
},
{
Expand Down
Loading