Re: pg_recvlogical cannot create slots with failover=true

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2025-06-22T13:38:30Z
Lists: pgsql-hackers
On 17.06.25 20:19, Masahiko Sawada wrote:
>>> Ideally, we should change both to maintain consistency across various
>>> slot options. OTOH, as we have already described these options as: "
>>> The --two-phase and --failover options can be specified with
>>> --create-slot.", it is clear that these are slot options. The previous
>>> version docs have a description: "The --two-phase can be specified
>>> with --create-slot to enable decoding of prepared transactions." which
>>> makes it even more clear that the two-phase is a slot option. The
>>> options are named similarly in pg_create_logical_replication_slot API
>>> and during CREATE SUBSCRIPTION, so, to some level, there is a
>>> consistency in naming of these options across all APIs/tools. But,
>>> their usage in a tool like pg_recvlogical could be perceived
>>> differently as well, so it is also okay to consider naming them
>>> differently.
>>
>> Also note that we have a new pg_createsubscriber --enable-two-phase.
> 
> Yeah, I also noticed the precedent.
> 
>> It would be nice if there was more consistency between similar/related
>> tools.
> 
> I've attached the patch. Feedback is very welcome.

This looks fine to me, but I would keep the old name --two-phase as 
well.  You could mark it as deprecated.  No need to make a hard break.




Commits

  1. pg_recvlogical: Rename --two-phase and --failover options.

  2. doc: Fix a typo in pg_recvlogical documentation.

  3. pg_recvlogical: Add --failover option.