mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Include replication origins in SQL functions for commit timestamp
This includes two changes:
- Addition of a new function pg_xact_commit_timestamp_origin() able, for
a given transaction ID, to return the commit timestamp and replication
origin of this transaction. An equivalent function existed in
pglogical.
- Addition of the replication origin to pg_last_committed_xact().
The commit timestamp manager includes already APIs able to return the
replication origin of a transaction on top of its commit timestamp, but
the code paths for replication origins were never stressed as those
functions have never looked for a replication origin, and the SQL
functions available have never included this information since their
introduction in 73c986a
.
While on it, refactor a test of modules/commit_ts/ to use tstzrange() to
check that a transaction timestamp is within the wanted range, making
the test a bit easier to read.
Bump catalog version.
Author: Movead Li
Reviewed-by: Madan Kumar, Michael Paquier
Discussion: https://postgr.es/m/2020051116430836450630@highgo.ca
This commit is contained in:
@ -23397,6 +23397,21 @@ SELECT collation for ('foo' COLLATE "de_DE");
|
||||
</para></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry role="func_table_entry"><para role="func_signature">
|
||||
<indexterm>
|
||||
<primary>pg_xact_commit_timestamp_origin</primary>
|
||||
</indexterm>
|
||||
<function>pg_xact_commit_timestamp_origin</function> ( <type>xid</type> )
|
||||
<returnvalue>record</returnvalue>
|
||||
( <parameter>timestamp</parameter> <type>timestamp with time zone</type>,
|
||||
<parameter>roident</parameter> <type>oid</type>)
|
||||
</para>
|
||||
<para>
|
||||
Returns the commit timestamp and replication origin of a transaction.
|
||||
</para></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry role="func_table_entry"><para role="func_signature">
|
||||
<indexterm>
|
||||
@ -23405,11 +23420,12 @@ SELECT collation for ('foo' COLLATE "de_DE");
|
||||
<function>pg_last_committed_xact</function> ()
|
||||
<returnvalue>record</returnvalue>
|
||||
( <parameter>xid</parameter> <type>xid</type>,
|
||||
<parameter>timestamp</parameter> <type>timestamp with time zone</type> )
|
||||
<parameter>timestamp</parameter> <type>timestamp with time zone</type>,
|
||||
<parameter>roident</parameter> <type>oid</type> )
|
||||
</para>
|
||||
<para>
|
||||
Returns the transaction ID and commit timestamp of the latest
|
||||
committed transaction.
|
||||
Returns the transaction ID, commit timestamp and replication origin
|
||||
of the latest committed transaction.
|
||||
</para></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
|
Reference in New Issue
Block a user