Disable logical decoding as unsupported
authorTomas Vondra <tomas@2ndquadrant.com>
Wed, 30 Aug 2017 21:55:30 +0000 (23:55 +0200)
committerTomas Vondra <tomas@2ndquadrant.com>
Wed, 30 Aug 2017 22:12:25 +0000 (00:12 +0200)
commite71c1dd42ae9c47023f3f9aee60d6663fb1474c1
tree28a95724e82790d35a02952d6a7bd035986007b8
parent298ed72a44c2bedb793e8fdd368a7f4e71c66883
Disable logical decoding as unsupported

Commit 665c224a6b2afa disabled CREATE PUBLICATION/SUBSCRIPTION, but
it was still possible to create a logical replication slot and call
pg_logical_slot_get_changes() on it.

That would however crash and burn as ReorderBufferCommit() relies on
subtransactions, and BeginInternalSubTransaction() is not expected
to fail, leading to segfaults in the PG_CATCH block.

Simply disallowing creating logical slots (and whatever else relies
on CheckLogicalDecodingRequirements) seems like the best fix.
src/backend/replication/logical/logical.c