Re: pgsql: Add support for managing physical replication slots to pg_receiv

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-committers <pgsql-committers(at)postgresql(dot)org>
Subject: Re: pgsql: Add support for managing physical replication slots to pg_receiv
Date: 2014-10-17 11:28:29
Message-ID: CAHGQGwGOtx95fFYdU_w-T6CygwFz+55RQ+EbQPGWu-xAXLO52A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Tue, Oct 7, 2014 at 2:58 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> On Tue, Oct 7, 2014 at 2:55 PM, Andres Freund <andres(at)anarazel(dot)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 Content-Type Size
receivexlog-bugfix.patch text/x-patch 924 bytes

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2014-10-17 11:31:17 Re: pgsql: Add support for managing physical replication slots to pg_receiv
Previous Message Tom Lane 2014-10-16 19:22:59 pgsql: Support timezone abbreviations that sometimes change.