Allow pg_recvlogical --drop-slot to work without --dbname. When pg_recvlogical was introduced in 9.4, the --dbname option was not required for --drop-slot. Without it, pg_recvlogical --drop-slot connected using a replication connection (not tied to a specific database) and was able to drop both physical and logical replication slots, similar to pg_receivewal --drop-slot.
However, commit 0c013e08cfb unintentionally changed this behavior in 9.5, making pg_recvlogical always check whether it's connected to a specific database and fail if it's not. This change was expected for --create-slot and --start, which handle logical replication slots and require a database connection, but it was unnecessary for --drop-slot, which should work with any replication connection. As a result, --dbname became a required option for --drop-slot. This commit removes that restriction, restoring the original behavior and allowing pg_recvlogical --drop-slot to work without specifying --dbname. Although this issue originated from an unintended change, it has existed for a long time without complaints or bug reports, and the documentation never explicitly stated that --drop-slot should work without --dbname. Therefore, the change is not treated as a bug fix and is applied only to master. Author: Hayato Kuroda <kuroda.hay...@fujitsu.com> Reviewed-by: Fujii Masao <masao.fu...@gmail.com> Discussion: https://postgr.es/m/b15ecf4f-e5af-4fbb-82c2-a425f453e...@oss.nttdata.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/c68100aa4313cf1cef826cf2d50f67164d13ebe4 Modified Files -------------- src/bin/pg_basebackup/pg_recvlogical.c | 9 ++++++--- src/bin/pg_basebackup/t/030_pg_recvlogical.pl | 8 ++++++++ 2 files changed, 14 insertions(+), 3 deletions(-)