Re: pg_receivexlog always handles -d option argument as connstr

From: Sawada Masahiko <sawada(dot)mshk(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_receivexlog always handles -d option argument as connstr
Date: 2014-10-08 07:20:55
Message-ID: CAD21AoCZ2eDt+RFKTj=c9X6=qbxXYzoBfL2V=U2a3JahrepqTg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Amit Kapila<amit(dot)kapila16(at)gmail(dot)com>

> On Tue, Oct 7, 2014 at 8:13 PM, Sawada Masahiko <sawada(dot)mshk(at)gmail(dot)com
> <javascript:_e(%7B%7D,'cvml','sawada(dot)mshk(at)gmail(dot)com');>> wrote:
> >
> > On Tue, Oct 7, 2014 at 12:58 PM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com
> <javascript:_e(%7B%7D,'cvml','amit(dot)kapila16(at)gmail(dot)com');>> wrote:
> > > On Mon, Oct 6, 2014 at 10:23 PM, Sawada Masahiko <
> sawada(dot)mshk(at)gmail(dot)com
> <javascript:_e(%7B%7D,'cvml','sawada(dot)mshk(at)gmail(dot)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?
>
>
Yes, I got your point.

I thought that it's a little confusion that,
Although the document says -d option of pg_receivexlog is called for
consistency,
Behavior of psql(other tool) and pg_receivexlog aren't exactly same.

If user use same -d option like '-d hoge_db' on both tool pg_receivexlog and
psql for easir setting, then it leads to occur error on pg_receivexlog side.
I thought pg_receivexlog should ignore database name even thought -d option
value is not connsrr formatted value, same as psql dose.
But there may be not any such case.

Regards,

Sawada Masahiko

--
Regards,

-------
Sawada Masahiko

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Anssi Kääriäinen 2014-10-08 07:41:14 Re: Promise index tuples for UPSERT
Previous Message Heikki Linnakangas 2014-10-08 06:59:59 Re: pg_receivexlog --status-interval add fsync feedback