Disallow starting server with insufficient wal_level for existing slot.
authorAndres Freund <[email protected]>
Wed, 31 Oct 2018 21:47:41 +0000 (14:47 -0700)
committerAndres Freund <[email protected]>
Wed, 31 Oct 2018 22:46:40 +0000 (15:46 -0700)
commitcf358a2c066ccb8fc9e82dc59358130aa61075ab
tree5b67f7cf3e7d5c65009273f8bf2f576cdd70ce41
parent95015b1f8e8eef895ddbfe38697c6da5754ba1d4
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[email protected]
Backpatch: 9.4-, where replication slots where introduced
src/backend/replication/logical/logical.c
src/backend/replication/slot.c