Thread: pg_rewind: Should abort if both --source-pgdata and --source-server are specified

pg_rewind: Should abort if both --source-pgdata and --source-server are specified

From
Michael Banck
Date:
Hi,

ISTM that pg_rewind's --source-pgdata and --source-server options are
mutually exclusive, and the synopsis in the documentation seems to
indicate that as well:

|pg_rewind [option...] {-D | --target-pgdata} directory
|{--source-pgdata=directory | --source-server=connstr}

However, there is no such check in the code.

I've seen people assume --source-pgdata is supposed to be the data
directory location on the remote server if they specify --source-server
as well, and are then confused by error messages.

So I think pg_rewind should abort in this case.  Patch for that attached.

Thoughts?


Michael

--
Michael Banck
Projektleiter / Senior Berater
Tel.: +49 2166 9901-171
Fax:  +49 2166 9901-100
Email: michael.banck@credativ.de

credativ GmbH, HRB Mönchengladbach 12080
USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Geschäftsführung: Dr. Michael Meskes, Jörg Folz, Sascha Heuer

Attachment

Re: pg_rewind: Should abort if both --source-pgdata and --source-server are specified

From
Heikki Linnakangas
Date:
On 10/07/2016 01:34 PM, Michael Banck wrote:
> Hi,
>
> ISTM that pg_rewind's --source-pgdata and --source-server options are
> mutually exclusive, and the synopsis in the documentation seems to
> indicate that as well:
>
> |pg_rewind [option...] {-D | --target-pgdata} directory
> |{--source-pgdata=directory | --source-server=connstr}
>
> However, there is no such check in the code.
>
> I've seen people assume --source-pgdata is supposed to be the data
> directory location on the remote server if they specify --source-server
> as well, and are then confused by error messages.
>
> So I think pg_rewind should abort in this case.  Patch for that attached.

Agreed. Committed, thanks!

- Heikki