This page describes the support Cockroach Labs provides for restoring backups across major versions of CockroachDB. The sections outline the support for the most common use cases when restoring backups across versions:
Since CockroachDB considers the cluster version when running a backup, this page refers to versions in a "v22.2.x" format. For example, both v22.2.8 and v22.2.14 are considered as v22.2 clusters for backup purposes.
Support for restoring backups into a higher version
Cockroach Labs supports restoring a backup taken on a cluster on a specific major version into a cluster that is on the same version or the next major version. Therefore, when you're upgrading your cluster from version N to N+1, if you took a backup on major version N, you can restore it to your cluster on either major version N or N+1.
For example, backups taken on v21.1.x can be restored into v21.2.x. Backups taken on v21.2.x can be restored into v22.1.x. The following table outlines this support:
Backup taken on version | Restorable into version |
---|---|
20.1.x | 20.2.x |
20.2.x | 21.1.x |
21.1.x | 21.2.x |
21.2.x | 22.1.x |
22.1.x | 22.2.x |
When a cluster is in a mixed-version state during an upgrade, full cluster restores will fail. See the Upgrade documentation for the necessary steps to finalize your upgrade. For CockroachDB Cloud clusters, see the Upgrade Policy page.
Cockroach Labs does not support restoring backups from a higher version into a lower version.
Support for long-term backup archival
When you need to archive a backup for the long term, we recommend that you also archive the CockroachDB binary of the version that the backup was taken on.
For a true archival copy that is not dependent on CockroachDB at all, running a changefeed to export your data from CockroachDB and archiving the files would be a better approach instead of taking a backup. See Export Data with Changefeeds for more detail.