The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).
pg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.
Table 42-38. pg_prepared_xacts Columns
|transaction||xid||Numeric transaction identifier of the prepared transaction|
|gid||text||Global transaction identifier that was assigned to the transaction|
|prepared||timestamp with time zone||Time at which the transaction was prepared for commit|
|owner||name||pg_authid.rolname||Name of the user that executed the transaction|
|database||name||pg_database.datname||Name of the database in which the transaction was executed|
When the pg_prepared_xacts view is accessed, the internal transaction manager data structures are momentarily locked, and a copy is made for the view to display. This ensures that the view produces a consistent set of results, while not blocking normal operations longer than necessary. Nonetheless there could be some impact on database performance if this view is read often.