Creates a same-named marker record, for example restore point, in the write-ahead logs of all nodes in a multi-node TimescaleDB cluster.

The restore point can be used as a recovery target on each node, ensuring the entire multi-node cluster can be restored to a consistent state. The function returns the write-ahead log locations for all nodes where the marker record was written.

This function is similar to the PostgreSQL function pg_create_restore_point, but it has been modified to work with a distributed database.

This function can only be run on the access node, and requires superuser privileges.

NameDescription
nameThe restore point name
ColumnTypeDescription
node_nameNAMENode name, or NULL for access node
node_typeTEXTNode type name: access_node or data_node
restore_pointPG_LSNRestore point log sequence number

An error is given if:

  • The restore point name is more than 64 characters
  • A recovery is in progress
  • The current WAL level is not set to replica or logical
  • The current user is not a superuser
  • The current server is not the access node
  • TimescaleDB's 2PC transactions are not enabled

This example create a restore point called pitr across three data nodes and the access node:

SELECT * FROM create_distributed_restore_point('pitr');
node_name | node_type | restore_point
-----------+-------------+---------------
| access_node | 0/3694A30
dn1 | data_node | 0/3694A98
dn2 | data_node | 0/3694B00
dn3 | data_node | 0/3694B68
(4 rows)

Keywords

Found an issue on this page?

Report an issue!