On 12.06.25 23:20, Jeff Davis wrote:
> On Thu, 2025-06-12 at 21:16 +0200, Peter Eisentraut wrote:
>>> Do we have other options that are order-sensitive?
>>
>> I think most of them are. For example:
>>
>> psql -p 5432 -p 5433
>> initdb --data-checksums --no-data-checksums
>> postgres --shared-buffers=1GB --shared-buffers=2GB
>
> Interesting. I don't think the "last option wins" model applies to
> other pg_dump options, though. For instance, in PG17:
>
> pg_dump --data-only --schema-only
> pg_dump: error: options -s/--schema-only and -a/--data-only cannot be
> used together
>
> I don't think it's simple to start using "last option wins" behavior
> now. There are probably some combinations of options where it's not
> clear whether a later option is an extra constraint or will override a
> previous option.
It makes sense to raise an error if the specified options cannot be
consolidated in an obvious way. I'd expect
pg_recvlogical --create-slot --drop-slot
to fail, but I'd expect
pg_recvlogical --create-slot --slot=foo --slot=bar
to work.
One of the challenges in the current case is that it is not obvious how
--with-data, --no-data, --data-only etc. are connected. If that were
clearer, then the way these options should combine or conflict would
hopefully follow somewhat naturally.