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]