pgsql: Fix crash in WAL sender when starting physical replication
Fix crash in WAL sender when starting physical replication
Since database connections can be used with WAL senders in 9.4, it is
possible to use physical replication. This commit fixes a crash when
starting physical replication with a WAL sender using a database
connection, caused by the refactoring done in 850196b.
There have been discussions about forbidding the use of physical
replication in a database connection, but this is left for later,
taking care only of the crash new to 13.
While on it, add a test to check for a failure when attempting logical
replication if the WAL sender does not have a database connection. This
part is extracted from a larger patch by Kyotaro Horiguchi.
Reported-by: Vladimir Sitnikov
Author: Michael Paquier, Kyotaro Horiguchi
Reviewed-by: Kyotaro Horiguchi, Álvaro Herrera
Discussion: /messages/by-id/CAB=Je-GOWMj1PTPkeUhjqQp-4W3=nW-pXe2Hjax6rJFffB5_Aw@mail.gmail.com
Backpatch-through: 13
Branch
------
REL_13_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/10ffe0fa72ed895a3c18aef2d3950b480e810e13
Modified Files
--------------
src/backend/access/transam/xlogreader.c | 4 ++-
src/backend/replication/walsender.c | 38 ++++++++++++++---------------
src/include/access/xlogreader.h | 4 ---
src/test/recovery/t/006_logical_decoding.pl | 11 ++++++++-
4 files changed, 31 insertions(+), 26 deletions(-)