1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Report catalog_xmin separately in hot_standby_feedback

If the upstream walsender is using a physical replication slot, store the
catalog_xmin in the slot's catalog_xmin field. If the upstream doesn't use a
slot and has only a PGPROC entry behaviour doesn't change, as we store the
combined xmin and catalog_xmin in the PGPROC entry.

Author: Craig Ringer
This commit is contained in:
Simon Riggs
2017-03-25 14:07:27 +00:00
parent 4dd3abe99f
commit 5737c12df0
7 changed files with 199 additions and 51 deletions

View File

@ -1916,10 +1916,11 @@ The commands accepted in walsender mode are:
</term>
<listitem>
<para>
The standby's current xmin. This may be 0, if the standby is
sending notification that Hot Standby feedback will no longer
be sent on this connection. Later non-zero messages may
reinitiate the feedback mechanism.
The standby's current global xmin, excluding the catalog_xmin from any
replication slots. If both this value and the following
catalog_xmin are 0 this is treated as a notification that Hot Standby
feedback will no longer be sent on this connection. Later non-zero
messages may reinitiate the feedback mechanism.
</para>
</listitem>
</varlistentry>
@ -1929,7 +1930,29 @@ The commands accepted in walsender mode are:
</term>
<listitem>
<para>
The standby's current epoch.
The epoch of the global xmin xid on the standby.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Int32
</term>
<listitem>
<para>
The lowest catalog_xmin of any replication slots on the standby. Set to 0
if no catalog_xmin exists on the standby or if hot standby feedback is being
disabled.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Int32
</term>
<listitem>
<para>
The epoch of the catalog_xmin xid on the standby.
</para>
</listitem>
</varlistentry>