RE: pg_recvlogical requires -d but not described on the documentation

Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>

From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Fujii Masao' <masao.fujii@oss.nttdata.com>, "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, 'vignesh C' <vignesh21@gmail.com>
Date: 2025-03-19T02:32:26Z
Lists: pgsql-hackers

Attachments

Dear Fujii-san,

> It looks like commit 0c013e08cfb introduced a bug that causes "pg_recvlogical
> --drop-slot"
> without --dbname to check whether it's connected to a specific database and fail
> if it's not.
> 
> This commit was added before 9.5, while pg_recvlogical was introduced in 9.4. On
> my env,
> "pg_recvlogical --drop-slot" without --dbname worked as expected in 9.4 but
> started
> failing in 9.5 or later.
> 
> So, I think the proper fix is to avoid raising a fatal error even when not connected
> to
> a specific database in --drop-slot action.

+1. I created patch to fix it. 0001 was completely same as you did.

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Commits

  1. Allow pg_recvlogical --drop-slot to work without --dbname.

  2. doc: Clarify required options for each action in pg_recvlogical.

  3. Refactor replication connection code of various pg_basebackup utilities.