Disallow starting server with insufficient wal_level for existing slot.

Andres Freund <andres@anarazel.de>

Commit: d35fd17cb58db72122912b57c75c8825ebf24285
Author: Andres Freund <andres@anarazel.de>
Date: 2018-10-31T22:46:40Z
Releases: 9.6.11
Disallow starting server with insufficient wal_level for existing slot.

Previously it was possible to create a slot, change wal_level, and
restart, even if the new wal_level was insufficient for the
slot. That's a problem for both logical and physical slots, because
the necessary WAL records are not generated.

This removes a few tests in newer versions that, somewhat
inexplicably, whether restarting with a too low wal_level worked (a
buggy behaviour!).

Reported-By: Joshua D. Drake
Author: Andres Freund
Discussion: https://postgr.es/m/20181029191304.lbsmhshkyymhw22w@alap3.anarazel.de
Backpatch: 9.4-, where replication slots where introduced

Files

PathChange+/−
src/backend/replication/logical/logical.c modified +5 −0
src/backend/replication/slot.c modified +30 −0

Discussion