On Mon, Dec 08, 2025 at 12:09:58PM +0000, Pavlo Golub wrote: > Virtual transaction IDs are fundamental to PostgreSQL's transaction > tracking, > appearing in pg_locks.virtualtransaction, log output via %v placeholder, and > internal transaction management. However, there's currently no direct SQL > function to retrieve the current VXID, forcing applications to query > pg_locks > or parse log files to obtain this information.
This is replacing one SQL in a given session by another, as a session currently running a transaction can query itself pg_locks and match an entry with its own pg_backend_pid(). Hence I don't see the need for this function, except simplicity in retrieving a session's state with less characters typed at the end?
I see this as a tradeoff between minor convenience and negligible addition cost.
The community should decide whether this tradeoff is worth it.
Thoughts and opinions from others are welcome. I'm always OK to be outvoted. -- Michael