# Fork and restore from Managed ClickHouse® backups


Restore a Managed ClickHouse® service by forking it: the fork is a new service created from the
[backup](/product/dbaas/service-specific/clickhouse/overview/disaster-recovery/#service-backup) of
an existing service. The source service keeps running and is not modified.

## List the available backups

Backups are part of the service description:

```bash
exo x get-dbaas-service-clickhouse my-clickhouse -z ch-gva-2 -q 'backups'
```

## Fork the service

Create a new service with `fork-from-service` set to the name of the source service. Pick a
plan with at least as many nodes as the source: `startup-16` below matches a Startup source,
a Business source needs a Business or Premium plan.

```bash
echo '{"plan":"startup-16","ip-filter":["<your-ip>/32"],"fork-from-service":"my-clickhouse"}' | \
  exo x create-dbaas-service-clickhouse my-clickhouse-fork -z ch-gva-2
```

Watch the fork until the state is `running`, then connect to it and check your data:

```bash
exo x get-dbaas-service-clickhouse my-clickhouse-fork -z ch-gva-2
```

> [!IMPORTANT]
> The fork is restored from a backup of the source service, not from its live state. By
> default the latest backup is used; data written to the source after that backup is not
> present in the fork.

To fork from an older daily backup instead, add `recovery-backup-name` with one of the
`backup-name` values listed above:

```bash
echo '{"plan":"startup-16","ip-filter":["<your-ip>/32"],"fork-from-service":"my-clickhouse","recovery-backup-name":"2026-08-04T11:34:26+00:00"}' | \
  exo x create-dbaas-service-clickhouse my-clickhouse-fork -z ch-gva-2
```

The API validates the name and refuses the creation with `Cannot find such backup to recover
from.` when it does not match an existing backup.

> [!IMPORTANT]
> You cannot fork Managed ClickHouse services to a fewer number of nodes.
> Reducing the number of nodes is only possible by switching the service plan from
> **Business** to **Startup** on a running service:
>
> ```bash
> echo '{"plan":"startup-16"}' | \
>   exo x update-dbaas-service-clickhouse my-clickhouse -z ch-gva-2
> ```
>
> See [Resize a service](/product/dbaas/service-specific/clickhouse/how-to/list-manage-cluster/#resize-a-service).
> The generic [scaling page](/product/dbaas/how-to/scaling/) describes the platform behavior,
> but the `exo dbaas` commands it shows do not cover ClickHouse.

Once the new fork service is running, you can set up your application's connection settings
to point to this new fork service.

## Related pages

- [Disaster recovery in Managed ClickHouse®](/product/dbaas/service-specific/clickhouse/overview/disaster-recovery/)

