Re: pgsql: Introduce replication slots. - Mailing list pgsql-committers

From Fujii Masao
Subject Re: pgsql: Introduce replication slots.
Date
Msg-id CAHGQGwHA==nSk-jY8Wqxa+f7y658qzaDnRSrG0SpnOGnOrntzw@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Introduce replication slots.  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: pgsql: Introduce replication slots.  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-committers
On Sat, Feb 1, 2014 at 6:37 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2014-02-01 18:33:08 +0900, Fujii Masao wrote:
>> On Sat, Feb 1, 2014 at 6:09 PM, Andres Freund <andres@2ndquadrant.com> wrote:
>> > On 2014-02-01 16:47:47 +0900, Fujii Masao wrote:
>> >> This patch changed basebackup.c so that it skips pg_replslot. It's OK
>> >> to skip all files in that directory, but an empty pg_replslot must be
>> >> included in the backup. Otherwise we cannot start PostgreSQL from
>> >> the backup taken via pg_basebackup. Attached patch fixes this problem.
>> >
>> > That's a pretty fair point. Not sure how that could escape my
>> > notice. The patch does look sane to me.
>> >
>> > I wonder if we additionally should add code to recreate pg_replslot on
>> > startup, similar to pg_xlog?
>>
>> Similar to pg_xlog/archive_status, not pg_xlog? That might be an option.
>> But I'm not inclined to do that for now. The fact that the essential
>> directory like pg_replslot doesn't exist indicates the symptom of
>> something strange. And, changing that way might prevent us from
>> detecting such symptom.
>
> The reason I am wondering is that it makes a fair bit of sense to
> exclude it in open-coded base backups as well, and excluding the
> entire directory might be the easiest way there. But I guess people
> manage for pg_xlog/, so it's really not something that would reduce pain
> measurably.

On second thought, we should always delete all files in pg_replslot
when starting recovery from the backup? The users who are
using their own backup script instead of pg_basebackup might
include pg_replslot files in the backup. Currently, in this case,
the replication slots which were created before would be available
even after the recovery. Is this OK? If not, all files in pg_replslot
should be removed at the beginning of the PITR. OTOH, if that's OK,
I think that pg_basebackup should not skip pg_replslot files.
Thought?

Regards,

--
Fujii Masao


pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: Fix typos in docs and comments.
Next
From: Fujii Masao
Date:
Subject: Re: pgsql: Introduce replication slots.