On Fri, Dec 3, 2021 at 7:39 PM Bharath Rupireddy <bharath.rupireddyforpostg...@gmail.com> wrote: > > On Wed, Dec 1, 2021 at 9:50 PM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > > > > On 2021-Dec-01, Bharath Rupireddy wrote: > > > > > The active_pid of ReplicationSlot structure, which tells whether a > > > replication slot is active or inactive, isn't persisted to the disk > > > i.e has no entry in ReplicationSlotPersistentData structure. Isn't it > > > better if we add that info to ReplicationSlotPersistentData structure > > > and persist to the disk? This will help to know what were the inactive > > > replication slots in case the server goes down or crashes for some > > > reason. Currently, we don't have a way to interpret the replication > > > slot info in the disk but there's a patch for pg_replslotdata tool at > > > [1]. This way, one can figure out the reasons for the server > > > down/crash and figure out which replication slots to remove to bring > > > the server up and running without touching the other replication > > > slots. > > > > I think the PIDs are log-worthy for sure, but it's not clear to me that > > it is desirable to write them to the persistent state file. In case of > > crashes, the log should serve just fine to aid root cause investigation > > -- in fact even better than the persistent file, where the data would be > > lost as soon as the next client acquires that slot. > > Thanks. +1 to log a message at LOG level whenever a replication slot > becomes active (gets assigned a valid pid to active_pid) and becomes > inactive(gets assigned 0 to active_pid). Having said that, isn't it > also helpful if we write a bool (1 byte character) whenever the slot > becomes active and inactive to the disk?
Here's the patch that adds a LOG message whenever a replication slot becomes active and inactive. These logs will be extremely useful on production servers to debug and analyze inactive replication slot issues. Thoughts? Regards, Bharath Rupireddy.
v1-0001-Add-LOG-messages-when-replication-slots-become-ac.patch
Description: Binary data