From 75e0b8649c7370132919e95870cd712bfc33020d Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
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

