Re: pgsql: Add support for managing physical replication slots to pg_receiv - Mailing list pgsql-committers

From Fujii Masao
Subject Re: pgsql: Add support for managing physical replication slots to pg_receiv
Date
Msg-id CAHGQGwGOtx95fFYdU_w-T6CygwFz+55RQ+EbQPGWu-xAXLO52A@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Add support for managing physical replication slots to pg_receiv  (Fujii Masao <masao.fujii@gmail.com>)
Responses Re: pgsql: Add support for managing physical replication slots to pg_receiv  (Andres Freund <andres@anarazel.de>)
List pgsql-committers
On Tue, Oct 7, 2014 at 2:58 PM, Fujii Masao <masao.fujii@gmail.com> wrote:
> On Tue, Oct 7, 2014 at 2:55 PM, Andres Freund <andres@anarazel.de> wrote:
>> On 2014-10-07 14:51:59 +0900, Fujii Masao wrote:
>>> >> *** a/src/bin/pg_basebackup/pg_receivexlog.c
>>> >> --- b/src/bin/pg_basebackup/pg_receivexlog.c
>>> >> ***************
>>> >> *** 591,596 **** main(int argc, char **argv)
>>> >> --- 591,598 ----
>>> >>                       disconnect_and_exit(1);
>>> >>       }
>>> >>
>>> >> +     PQfinish(conn);
>>> >> +
>>> >>       while (true)
>>> >>       {
>>> >>               StreamLog();
>>> >
>>> > But wouldn't it be better to simply pass in the connection to
>>> > StreamLog()?
>>>
>>> ISTM that the idea would make the code in StreamLog() somewhat complicated,
>>> i.e., StreamLog() needs to always check whether the conn is valid or not before
>>> trying to create new connection. We cannot remove the code to create new
>>> connection in StreamLog() because it needs to reconnect to the server when
>>> the connection is terminated (of course in the case where --no-loop is
>>> not specified).
>>
>> Not that much imo.
>>
>> if (conn == NULL)
>>    conn = GetConnection();
>>
>> if (!conn)
>>         /* Error message already written in GetConnection() */
>>         return;
>>
>> ...
>>
>> PQfinish(conn);
>> conn = NULL;
>
> I'm OK with that.

Attached patch does what Andres suggested. Barring any objection, I
will apply it.

Regards,

--
Fujii Masao

Attachment

pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Support timezone abbreviations that sometimes change.
Next
From: Andres Freund
Date:
Subject: Re: pgsql: Add support for managing physical replication slots to pg_receiv