1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-05 07:21:24 +03:00

Document pg_get_multixact_members().

Oversight in commit 0ac5ad5134.

Author: Sami Imseih <samimseih@gmail.com>
Co-authored-by: Álvaro Herrera <alvherre@kurilemu.de>
Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org
Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_BdGxi0op8RKjmDg%40mail.gmail.com
Backpatch-through: 13
This commit is contained in:
Nathan Bossart
2025-07-01 13:54:38 -05:00
parent d0a695cf41
commit 0ee7f51a8b
2 changed files with 31 additions and 2 deletions

View File

@ -23394,6 +23394,31 @@ SELECT collation for ('foo' COLLATE "de_DE");
a subtransaction ID.
</para></entry>
</row>
<row>
<entry role="func_table_entry"><para role="func_signature">
<indexterm>
<primary>pg_get_multixact_members</primary>
</indexterm>
<function>pg_get_multixact_members</function> ( <parameter>multixid</parameter> <type>xid</type> )
<returnvalue>setof record</returnvalue>
( <parameter>xid</parameter> <type>xid</type>,
<parameter>mode</parameter> <type>text</type> )
</para>
<para>
Returns the transaction ID and lock mode for each member of the
specified multixact ID. The lock modes <literal>forupd</literal>,
<literal>fornokeyupd</literal>, <literal>sh</literal>, and
<literal>keysh</literal> correspond to the row-level locks
<literal>FOR UPDATE</literal>, <literal>FOR NO KEY UPDATE</literal>,
<literal>FOR SHARE</literal>, and <literal>FOR KEY SHARE</literal>,
respectively, as described in <xref linkend="locking-rows"/>. Two
additional modes are specific to multixacts:
<literal>nokeyupd</literal>, used by updates that do not modify key
columns, and <literal>upd</literal>, used by updates or deletes that
modify key columns.
</para></entry>
</row>
</tbody>
</tgroup>
</table>
@ -23402,7 +23427,8 @@ SELECT collation for ('foo' COLLATE "de_DE");
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"/>, except
<function>age</function> and <function>mxid_age</function>, use a
<function>age</function>, <function>mxid_age</function>, and
<function>pg_get_multixact_members</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

View File

@ -690,7 +690,10 @@ HINT: Stop the postmaster and vacuum that database in single-user mode.
careful aging management, storage cleanup, and wraparound handling.
There is a separate storage area which holds the list of members in
each multixact, which also uses a 32-bit counter and which must also
be managed.
be managed. The system function
<function>pg_get_multixact_members()</function> described in
<xref linkend="functions-pg-snapshot"/> can be used to examine the
transaction IDs associated with a multixact ID.
</para>
<para>