From 75e0b8649c7370132919e95870cd712bfc33020d Mon Sep 17 00:00:00 2001 From: Hayato Kuroda Date: Wed, 19 Mar 2025 11:30:16 +0900 Subject: [PATCH v3 2/2] pg_recvlogical: allow working without --dbname while in drop mode --- src/bin/pg_basebackup/pg_recvlogical.c | 3 ++- src/bin/pg_basebackup/t/030_pg_recvlogical.pl | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_basebackup/pg_recvlogical.c b/src/bin/pg_basebackup/pg_recvlogical.c index b9ea23e1426..17c64146eff 100644 --- a/src/bin/pg_basebackup/pg_recvlogical.c +++ b/src/bin/pg_basebackup/pg_recvlogical.c @@ -945,12 +945,13 @@ main(int argc, char **argv) /* * Run IDENTIFY_SYSTEM to make sure we connected using a database specific + * replication connection. Drop-slot action can work with streaming * replication connection. */ if (!RunIdentifySystem(conn, NULL, NULL, NULL, &db_name)) exit(1); - if (db_name == NULL) + if (!do_drop_slot && db_name == NULL) pg_fatal("could not establish database-specific replication connection"); /* diff --git a/src/bin/pg_basebackup/t/030_pg_recvlogical.pl b/src/bin/pg_basebackup/t/030_pg_recvlogical.pl index a6e10600161..62bbc5a3f98 100644 --- a/src/bin/pg_basebackup/t/030_pg_recvlogical.pl +++ b/src/bin/pg_basebackup/t/030_pg_recvlogical.pl @@ -127,4 +127,12 @@ $node->command_ok( ], 'replayed a two-phase transaction'); +$node->command_ok( + [ + 'pg_recvlogical', + '--slot' => 'test', + '--drop-slot' + ], + 'drop could work without dbname'); + done_testing(); -- 2.43.5