Re: [PATCH] Add pg_current_vxact_id() function to expose virtual transaction IDs

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Pavlo Golub <pavlo(dot)golub(at)cybertec(dot)at>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [PATCH] Add pg_current_vxact_id() function to expose virtual transaction IDs
Date: 2026-01-09 00:25:01
Message-ID: aWBK3fVZk4cgPPJq@paquier.xyz
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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?

Thoughts and opinions from others are welcome. I'm always OK to be
outvoted.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2026-01-09 00:29:35 Re: Buffer locking is special (hints, checksums, AIO writes)
Previous Message Henson Choi 2026-01-09 00:07:05 Re: Re[2]: [PATCH] Add pg_current_vxact_id() function to expose virtual transaction IDs