pg_replication_slot_advance xmin handling when active slot becomes inactive

From: Dimitri Fontaine <Dimitri(dot)Fontaine(at)microsoft(dot)com>
To: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: pg_replication_slot_advance xmin handling when active slot becomes inactive
Date: 2021-10-06 08:22:08
Message-ID: VI1PR83MB01897A49AE5C54A82F841D8999B09@VI1PR83MB0189.EURPRD83.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi folks,

I believe we have found another bug in Postgres when using pg_auto_failover. The details can be seen at https://github.com/citusdata/pg_auto_failover/issues/814 ; and the Postgres warning message to consider is the following:

WARNING: oldest xmin is far in the past

When a replication slot switches from active to inactive, whatever xmin value that is registered on the replication slot is then kept.

It seems to me that we should either document that a replication slot that has been active (used in streaming replication) can not be maintained through calls to pg_replication_slot_advance later; or better yet that this should be made to work, somehow.

Regards,
--
Dimitri Fontaine
PostgreSQL Major Contributor, Citus Data, Microsoft
Author of “The Art of PostgreSQL<https://theartofpostgresql.com/>”

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2021-10-06 14:09:29 BUG #17217: PANIC: stuck spinlock detected at LockBufHdr, bufmgr.c:4297
Previous Message PG Bug reporting form 2021-10-06 08:00:00 BUG #17216: No Password Provided Error - uncaught exception