Re: Replication connection URI? - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Replication connection URI?
Date
Msg-id 54749C28.5080709@vmware.com
Whole thread Raw
In response to Re: Replication connection URI?  (Alex Shulgin <ash@commandprompt.com>)
Responses Re: Replication connection URI?  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-hackers
On 11/24/2014 06:05 PM, Alex Shulgin wrote:
> Heikki Linnakangas <hlinnakangas@vmware.com> writes:
>>>
>>> It appears that replication connection doesn't support URI but only the
>>> traditional conninfo string.
>>>
>>> src/backend/replication/libpqwalreceiver/libpqwalreceiver.c:99: in libpqrcv_connect():
>>>
>>>       snprintf(conninfo_repl, sizeof(conninfo_repl),
>>>                "%s dbname=replication replication=true fallback_application_name=walreceiver",
>>>                conninfo);
>>>
>>> A patch to fix this welcome?
>>
>> Yeah, seems like an oversight. Hopefully you can fix that without
>> teaching libpqwalreceiver what connection URIs look like..
>
> Please see attached.  We're lucky that PQconnectdbParams has an option
> to parse and expand the first dbname parameter if it looks like a
> connection string (or a URI).
>
> The first patch is not on topic, I just spotted this missing check.
>
> The second one is a self-contained fix, but the third one which is the
> actual patch depends on the second one, because it specifies the dbname
> keyword two times: first to parse the conninfo/URI, then to override any
> dbname provided by the user with "replication" pseudo-database name.

Hmm. Should we backpatch the second patch? It sure seems like an 
oversight rather than deliberate that you can't override dbname from the 
connection string with a later dbname keyword. I'd say "yes".

How about the third patch? Probably not; it was an oversight with the 
connection URI patch that it could not be used in primary_conninfo, but 
it's not a big deal in practice as you can always use a non-URI 
connection string instead.

- Heikki




pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: Transient failure of rowsecurity regression test
Next
From: Alvaro Herrera
Date:
Subject: Re: tracking commit timestamps