Point-in-time recovery allows you to recover your database from a destructive or unwanted action or change. Timescale allows you to perform a point-in-time recovery of your service to any point in the last 3 days. Initiating a point-in-time recovery of your service creates a fork of your service that matches the state of your database at the specified time of recovery. The original service stays untouched to avoid losing data created since the time of recovery.

Since the point-in-time recovery is done in a fork, to migrate your application to the point of recovery, switch out the connection strings in your application to use the fork. The provision time for the recovery fork is typically less than twenty minutes, but can take longer depending on the amount of WAL to be replayed.

To avoid paying for compute for the recovery fork and the original service, you can pause the original to only pay storage costs.

  1. In the Timescale console, from the Services list, ensure the service you want to PITR has a status of Running or Paused.
  2. Navigate to the Operations tab.
  3. In the Service management section, click Create recovery fork. In the creation page, select the time you would like to recover to, ensuring the correct time zone (UTC offset).
  4. OptionalYou can also add an HA replica, change the compute, and add a connection pooler as part of this process. It is recommended to match the same configuration you had at the point you want to recover to.
  5. Confirm by clicking Create recovery fork. A fork of the service is created to the point-in-time specified.
  6. The recovered service shows in the Services dashboard with a label stating which service it has been forked from.
  7. If you would like to use your application to use the recovered fork, ensure you update your connection strings to the fork throughout your app.


Found an issue on this page?

Report an issue!