Re: replication_slots usability issue
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: "Joshua D. Drake" <jd@commandprompt.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-10-29T19:13:04Z
Lists: pgsql-hackers
On 2018-10-29 16:02:18 -0300, Alvaro Herrera wrote: > On 2018-Oct-29, Joshua D. Drake wrote: > > > -Hackers, > > > > > > Working on 9.6 today (unsure if fixed in newer versions). Had an issue where > > the wal was 280G despite max_wal_size being 8G. Found out there were stale > > replication slots from a recent base backup. I went to drop the replication > > slots and found that since the wal_level was set to minimal vs replica or > > higher, I couldn't drop the replication slot. Clearly that makes sense for > > creating a replication slot but it seems like an artificial limitation for > > dropping them. > > This sounds closely related to > https://www.postgresql.org/message-id/20180508143725.mn3ivlyvgpul6ovr%40alvherre.pgsql > (commit a1f680d962ff) wherein we made it possible to drop a slot in > single-user mode. > > Seems worth fixing. Send a patch? I don't think this quite is the problem. ISTM the issue is rather that StartupReplicationSlots() *needs* to check whether wal_level > minimal, and doesn't. So you can create a slot, shutdown, change wal_level, startup. A slot exists but won't work correctly. Greetings, Andres Freund
Commits
-
Fix copy-paste error in errhint() introduced in 691d79a07933.
- b7301e3a7b63 9.4.20 landed
- a0e450e91ee9 9.5.15 landed
- ac36e6aee808 10.6 landed
- a16e8b440132 9.6.11 landed
- 9c7049ef4f9c 11.1 landed
- a3fb382e9c16 12.0 landed
-
Lower error level from PANIC to FATAL when restoring slots at startup
- 6286efb5240f 12.0 landed
-
Fix error message typo introduced 691d79a07933.
- b0fa768c61b3 9.4.20 landed
- 87f76f1324b2 9.6.11 landed
- 877b00561eea 10.6 landed
- 0446551fc114 11.1 landed
- 8a99f8a82775 12.0 landed
- d554e333e548 9.5.15 landed
-
Disallow starting server with insufficient wal_level for existing slot.
- d35fd17cb58d 9.6.11 landed
- cf358a2c066c 9.4.20 landed
- c33a01c7979d 11.1 landed
- 679cb44e4b56 9.5.15 landed
- 021e1c329d7c 10.6 landed
- 691d79a07933 12.0 landed
-
Allow replication slots to be dropped in single-user mode
- a1f680d962ff 10.5 cited