pgsql: Show GIDs of two-phase commit commands as constants in pg_stat_s

Started by Michael Paquieralmost 3 years ago1 messagescomitters
Jump to latest
#1Michael Paquier
michael@paquier.xyz

Show GIDs of two-phase commit commands as constants in pg_stat_statements

This relies on the "location" field added to TransactionStmt in 31de7e6,
now applied to the "gid" field used by 2PC commands. These commands are
now reported like:
COMMIT PREPARED $1
PREPARE TRANSACTION $1
ROLLBACK PREPARED $1

Applying constants for these commands is a huge advantage for workloads
that rely a lot on 2PC commands with different GIDs. Some tests are
added to track the new behavior.

Reviewed-by: Julien Rouhaud
Discussion: /messages/by-id/ZMhT9kNtJJsHw6jK@paquier.xyz

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/638d42a3c52081cf4882520f0622161bad69b40f

Modified Files
--------------
contrib/pg_stat_statements/expected/utility.out | 23 ++++++++++++++++++++++
contrib/pg_stat_statements/pg_stat_statements.conf | 1 +
contrib/pg_stat_statements/sql/utility.sql | 10 ++++++++++
src/backend/parser/gram.y | 6 +++---
src/include/nodes/parsenodes.h | 3 ++-
5 files changed, 39 insertions(+), 4 deletions(-)