Fix logical decoding test to correctly check slot removal on standby.
authorFujii Masao <[email protected]>
Fri, 4 Apr 2025 04:34:30 +0000 (13:34 +0900)
committerFujii Masao <[email protected]>
Fri, 4 Apr 2025 04:34:30 +0000 (13:34 +0900)
The regression test for logical decoding verifies whether a logical slot
is correctly dropped on a standby when its associated database is dropped.
However, the test mistakenly retrieved slot information from the primary
instead of the standby, causing incorrect behavior.

This commit fixes the issue by ensuring the test correctly checks the slot
on the standby.

Back-patch to all supported versions.

Author: Hayato Kuroda <[email protected]>
Reviewed-by: Fujii Masao <[email protected]>
Discussion: https://postgr.es/m/1fdfd020-a509-403c-bd8f-a04664aba148@oss.nttdata.com
Backpatch-through: 13

src/test/recovery/t/010_logical_decoding_timelines.pl

index b72fe7c4f5977b6a7a945591f6ed2730f357be99..519bcc402867e1b24a414f1d274b8e13a984776b 100644 (file)
@@ -90,7 +90,7 @@ is( $node_replica->safe_psql(
        'postgres', q[SELECT 1 FROM pg_database WHERE datname = 'dropme']),
    '',
    'dropped DB dropme on standby');
-is($node_master->slot('dropme_slot')->{'plugin'},
+is($node_replica->slot('dropme_slot')->{'plugin'},
    '', 'logical slot was actually dropped on standby');
 
 # Back to testing failover...