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
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
Open a transaction using
BEGIN
, and create a nested transaction using a savepoint:> BEGIN; SAVEPOINT foo;
Use the
SHOW SAVEPOINT STATUS
statement to list the active savepoints in the current nested transaction.> SHOW SAVEPOINT STATUS;
savepoint_name | is_initial_savepoint -----------------+----------------------- foo | true (1 row)
Currently, there is only one savepoint.
Commit this nested transaction by issuing the
RELEASE SAVEPOINT
statement, then clear the connection for the next transaction by issuing aCOMMIT
statement:> 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
.