On Tue, Oct 7, 2014 at 8:13 PM, Sawada Masahiko <sawada.m...@gmail.com> wrote: > > On Tue, Oct 7, 2014 at 12:58 PM, Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Mon, Oct 6, 2014 at 10:23 PM, Sawada Masahiko <sawada.m...@gmail.com> > > wrote: > >> > >> Hi all, > >> > >> pg_receivexlog always handles argument of -d option as connstr formatted > >> value. > >> We can doubly specify host name, port number. > >> The other client tools handles -d option as connstr value only if > >> argument has "=" character. > > > > pg_basebackup also seems to behave same as pg_receivexlog. > > psql also treats it in similar way. The behaviour of psql is as > > below: > > psql.exe -d="host=localhost port=5432 dbname=postgres" > > psql: invalid connection option "" > > > > psql.exe -d "host=localhost port=5432 dbname=postgres" > > psql (9.5devel) > > WARNING: Console code page (437) differs from Windows code page (1252) > > 8-bit characters might not work correctly. See psql reference > > page "Notes for Windows users" for details. > > Type "help" for help. > > > > postgres=# > > > >> The document says that pg_receivexlog ignores database name, and this > >> option is called for consistency with other client applications. > >> But if we specify database name like other client tool '-d hoge' , > >> then we will definitely got error. > > > > What I understand from document is that it ignores database name > > when given in connection string. > > > > Yep, but we can use -d option like 'psql -d postgres'. > pg_receivexlog and pg_basebackup doesn't seem to work like that. > they always handles argument as connstr formatted value.
psql needs to connect to particular database for its functioning where as pg_basebackup/pg_receivexlog works differently and doesn't need to connect to particular database for its functioning, so I am not sure why you want them to behave similarly for -d switch. Moreover the same is clarified in docs, so whats the issue? With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com