1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Add 'active_in' column to pg_replication_slots.

Right now it is visible whether a replication slot is active in any
session, but not in which.  Adding the active_in column, containing the
pid of the backend having acquired the slot, makes it much easier to
associate pg_replication_slots entries with the corresponding
pg_stat_replication/pg_stat_activity row.

This should have been done from the start, but I (Andres) dropped the
ball there somehow.

Author: Craig Ringer, revised by me Discussion:
CAMsr+YFKgZca5_7_ouaMWxA5PneJC9LNViPzpDHusaPhU9pA7g@mail.gmail.com
This commit is contained in:
Andres Freund
2015-04-21 11:51:06 +02:00
parent 528c2e44ab
commit d811c037ce
9 changed files with 47 additions and 28 deletions

View File

@ -5400,6 +5400,16 @@
<entry>True if this slot is currently actively being used</entry>
</row>
<row>
<entry><structfield>active_in</structfield></entry>
<entry><type>integer</type></entry>
<entry></entry>
<entry>The process ID of the session using this slot if the slot
is currently actively being used. <literal>NULL</literal> if
inactive.
</entry>
</row>
<row>
<entry><structfield>xmin</structfield></entry>
<entry><type>xid</type></entry>

View File

@ -62,10 +62,10 @@ postgres=# SELECT * FROM pg_create_logical_replication_slot('regression_slot', '
regression_slot | 0/16B1970
(1 row)
postgres=# SELECT * FROM pg_replication_slots;
slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn
-----------------+---------------+-----------+--------+----------+--------+--------+--------------+-------------
regression_slot | test_decoding | logical | 12052 | postgres | f | | 684 | 0/16A4408
postgres=# SELECT slot_name, plugin, slot_type, database, active, restart_lsn FROM pg_replication_slots;
slot_name | plugin | slot_type | database | active | restart_lsn
-----------------+---------------+-----------+----------+--------+-------------
regression_slot | test_decoding | logical | postgres | f | 0/16A4408
(1 row)
postgres=# -- There are no changes to see yet