Re: Replication connection URI?

From: Alex Shulgin <ash(at)commandprompt(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Replication connection URI?
Date: 2014-11-24 16:05:39
Message-ID: 87tx1or3cc.fsf@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas <hlinnakangas(at)vmware(dot)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.

Have a nice day!
--
Alex

Attachment Content-Type Size
0001-Add-missing-check-on-OOM-in-expand_dbname-path-of-co.patch text/x-diff 1.0 KB
0002-Allow-further-dbname-value-to-override-conninfo-pars.patch text/x-diff 2.8 KB
0003-Allow-URI-in-primary_conninfo-line-of-recovery.conf-.patch text/x-diff 5.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2014-11-24 16:50:00 Re: superuser() shortcuts
Previous Message Tom Lane 2014-11-24 15:48:00 Re: pg_class(relpersistence) of hash index