The SHOW SAVEPOINT STATUS statement lists the active savepoints in the current transaction.

Required privileges

No privileges are required to create or show a savepoint. However, privileges are required for each statement within a transaction.

Synopsis

SHOW SAVEPOINT STATUS

Response

The following fields are returned for each savepoint.

Field Description
savepoint_name The name of the savepoint.
is_initial_savepoint Whether the savepoint is the outermost savepoint in the transaction.

Example

First, open a transaction using BEGIN, and create a nested transaction using a savepoint:

copy
icon/buttons/copy
> BEGIN;
SAVEPOINT foo;

Next, use the SHOW SAVEPOINT STATUS statement to list the active savepoints in the current nested transaction.

copy
icon/buttons/copy
> SHOW SAVEPOINT STATUS;
  savepoint_name | is_initial_savepoint
-----------------+-----------------------
  foo            |        true
(1 row)

Currently, there is only one savepoint.

We can commit this nested transaction by issuing the RELEASE SAVEPOINT statement. Then, we clear the connection for the next transaction by issuing a COMMIT statement.

copy
icon/buttons/copy
> RELEASE SAVEPOINT foo;
COMMIT;

If we did not want to commit this nested transaction, but restart it instead, we would have issued a ROLLBACK TO SAVEPOINT.

See also



Yes No