postgres.git / summary / log / commit / refs

commit    326f2aaee6472c43b8eb3f5528c825ecfdf540a1
Author:   Nathan Bossart <nathan@postgresql.org>
Date:     Tue Jul 01 15:36:27 2025 +0000

    Document age(xid) and mxid_age(xid).
    
    These functions have been around for some time, but commits
    48b5aa3143 and 15afb7d61c were only back-patched to v16.  Let's
    back-patch them to all supported versions now.
    
    Reported-by: David Rowley <dgrowleyml@gmail.com> (commit 48b5aa3143)
    Author: Bruce Momjian <bruce@momjian.us> (commit 48b5aa3143)
    Co-authored-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> (commit 15afb7d61c)
    Reviewed-by: Michael Paquier <michael@paquier.xyz> (commit 15afb7d61c)
    Reviewed-by: Robert Haas <robertmhaas@gmail.com>
    Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
    Discussion: https://postgr.es/m/aGMCxHxLfeMdQk8m%40nathan
    Backpatch-through: 13-15


doc/src/sgml/func.sgml | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 0bb80d784da..c36ee647355 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -24114,6 +24114,34 @@ SELECT collation for ('foo' COLLATE "de_DE"); </thead> <tbody> + <row> + <entry role="func_table_entry"><para role="func_signature"> + <indexterm> + <primary>age</primary> + </indexterm> + <function>age</function> ( <type>xid</type> ) + <returnvalue>integer</returnvalue> + </para> + <para> + Returns the number of transactions between the supplied + transaction id and the current transaction counter. + </para></entry> + </row> + + <row> + <entry role="func_table_entry"><para role="func_signature"> + <indexterm> + <primary>mxid_age</primary> + </indexterm> + <function>mxid_age</function> ( <type>xid</type> ) + <returnvalue>integer</returnvalue> + </para> + <para> + Returns the number of multixacts IDs between the supplied + multixact ID and the current multixacts counter. + </para></entry> + </row> + <row> <entry role="func_table_entry"><para role="func_signature"> <indexterm> @@ -24249,7 +24277,8 @@ SELECT collation for ('foo' COLLATE "de_DE"); <para> The internal transaction ID type <type>xid</type> is 32 bits wide and wraps around every 4 billion transactions. However, - the functions shown in <xref linkend="functions-pg-snapshot"/> use a + the functions shown in <xref linkend="functions-pg-snapshot"/>, except + <function>age</function> and <function>mxid_age</function>, use a 64-bit type <type>xid8</type> that does not wrap around during the life of an installation, and can be converted to <type>xid</type> by casting if required. The data type <type>pg_snapshot</type> stores information about [parent: 25cab4473525]