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

From: Andres Freund <andres(at)anarazel(dot)de>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
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-07 05:29:27
Message-ID: 20141007052927.GA22022@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 2014-10-07 14:21:59 +0900, Fujii Masao wrote:
> On Mon, Oct 6, 2014 at 7:57 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> > Add support for managing physical replication slots to pg_receivexlog.
> >
> > pg_receivexlog already has the capability to use a replication slot to
> > reserve WAL on the upstream node. But the used slot currently has to
> > be created via SQL.
> >
> > To allow using slots directly, without involving SQL, add
> > --create-slot and --drop-slot actions, analogous to the logical slot
> > manipulation support in pg_recvlogical.
> >
> > Author: Michael Paquier
> > Discussion: CABUevEx+zrOHZOQg+dPapNPFRJdsk59b=TSVf30Z71GnFXhQaw(at)mail(dot)gmail(dot)com
> >
> > Branch
> > ------
> > master
> >
> > Details
> > -------
> > http://git.postgresql.org/pg/commitdiff/d9f38c7a555dd5a6b81100c6d1e4aa68342d8771
> >
> > Modified Files
> > --------------
> > doc/src/sgml/ref/pg_receivexlog.sgml | 31 ++++++-
> > src/bin/pg_basebackup/pg_receivexlog.c | 155 ++++++++++++++++++++++++++++----
> > 2 files changed, 170 insertions(+), 16 deletions(-)
> >
> >
> > --
> > Sent via pgsql-committers mailing list (pgsql-committers(at)postgresql(dot)org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-committers
>
> This patch changed pg_receivexlog so that it creates new connection
> before creating the slot, etc, but ISTM that it forgets to close the connection.
> Probably something like attached patch needs to be applied.

Hm, yes.

> *** 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()?

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2014-10-07 05:51:59 Re: pgsql: Add support for managing physical replication slots to pg_receiv
Previous Message Fujii Masao 2014-10-07 05:21:59 Re: pgsql: Add support for managing physical replication slots to pg_receiv