On 2022-Nov-29, Viljo Hakala wrote:
> We have two PostgreSQL 14.3 on Red Hat Linux 8.5 running two
> different databases on VMS, where logical replicationn is used between
> databases.
Hmm, I don't see any bug fixes in the commit that would match this.
I only looked after May 9th 2022, which is 14.3's tag date.
> 2022-11-29 10:21:06.940 EET [1698404] ERROR: could not start WAL streaming: ERROR: cannot read from logical
replicationslot ”logs”
> DETAIL: This slot has been invalidated because it exceeded the maximum reserved size.
> 2022-11-29 10:21:06.942 EET [1698368] LOG: background worker "logical replication worker" (PID 1698404) exited with
exitcode 1
>
> Even though according to manual the max_slot_wal_keep_size is -1 and should not have a limit ?
You should see earlier messages about the slot being invalidated, during
the previous checkpoint -- and potentially the walsender being
signalled, if it was running. Can you spot those?
> postgres=# show max_slot_wal_keep_size;
>
> max_slot_wal_keep_size
> ------------------------
> -1
The only explanation of this behavior that doesn't involve a bug is that
this parameter was set to a nonzero value, then set to disabled, but the
checkpointer failed to notice the change.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"This is what I like so much about PostgreSQL. Most of the surprises
are of the "oh wow! That's cool" Not the "oh shit!" kind. :)"
Scott Marlowe, http://archives.postgresql.org/pgsql-admin/2008-10/msg00152.php