Re: pgsql: Prevent invalidation of newly synced replication slots.

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Robert Haas <robertmhaas@gmail.com>, Greg Burd <greg@burd.me>
Cc: Thomas Munro <thomas.munro@gmail.com>, Amit Kapila <akapila@postgresql.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Bryan Green <dbryan.green@gmail.com>
Date: 2026-01-27T18:17:38Z
Lists: pgsql-hackers
Hi,

On 2026-01-27 12:42:51 -0500, Robert Haas wrote:
> I tried sticking a pg_sleep(30) in just before starting the standby
> node, and that didn't help, so it doesn't seem like it's a race
> condition.

Interesting.

It could be worth trying to run the test in isolation, without all the other
concurrent tests.

Greg, have you tried to repro it interactively?

Bryan, you seem to have become the resident windows expert...


> 2026-01-27 17:19:25.337 GMT startup[2488] LOG:  starting backup
> recovery with redo LSN 0/2A000028, checkpoint LSN 0/2A000080, on
> timeline ID 1
> The system cannot find the file specified.
> 2026-01-27 17:19:25.352 GMT startup[2488] DEBUG:  could not restore
> file "00000001000000000000002A" from archive: child process exited
> with exit code 1

I think that must be a message from "copy" (which we seem to be using for
restore_command on windows).

I don't know why the standby is created with has_restoring => 1. But it
shouldn't be related to the issue, I think?

Greetings,

Andres Freund



Commits

  1. Fix CI failure introduced in commit 851f6649cc.

  2. Prevent invalidation of newly synced replication slots.

  3. Prevent invalidation of newly created replication slots.