From: | Thom Brown <thom(at)linux(dot)com> |
---|---|
To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
Cc: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, Andres Freund <andres(at)2ndquadrant(dot)com>, Robert Haas <rhaas(at)postgresql(dot)org>, pgsql-committers <pgsql-committers(at)postgresql(dot)org> |
Subject: | Re: pgsql: Introduce replication slots. |
Date: | 2014-02-06 10:20:00 |
Message-ID: | CAA-aLv4Owpf0H9ySaVjAjdSpxQxPNGRNwenAUt=61cJ8sCtdyg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
On 4 February 2014 05:19, Michael Paquier <michael(dot)paquier(at)gmail(dot)com> wrote:
> On Sat, Feb 1, 2014 at 6:33 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
>> On Sat, Feb 1, 2014 at 6:09 PM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
>>> On 2014-02-01 16:47:47 +0900, Fujii Masao wrote:
>>>> On Sat, Feb 1, 2014 at 12:50 PM, Robert Haas <rhaas(at)postgresql(dot)org> wrote:
>>>> > Introduce replication slots.
>>>> >
>>>> > Replication slots are a crash-safe data structure which can be created
>>>> > on either a master or a standby to prevent premature removal of
>>>> > write-ahead log segments needed by a standby, as well as (with
>>>> > hot_standby_feedback=on) pruning of tuples whose removal would cause
>>>> > replication conflicts. Slots have some advantages over existing
>>>> > techniques, as explained in the documentation.
>>>> >
>>>> > In a few places, we refer to the type of replication slots introduced
>>>> > by this patch as "physical" slots, because forthcoming patches for
>>>> > logical decoding will also have slots, but with somewhat different
>>>> > properties.
>>>>
>>>> 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.
> To facilitate the user's life, I would be more inclined to do the following:
> 1) Have pg_replslot created if it does not exist in the base backup
> such as users are not surprised that there old scripts do not work
> anymore with 9.4
Yeah, a script I use to create a replication set-up no longer works.
Using latest Git master, this is causing standbys created with
pg_basebackup to fail to start.
FATAL: could not open directory "pg_replslot": No such file or directory
The pg_basebackup command used was:
pg_basebackup -D standby1 -h localhost -p 5530 -U rep_user
--
Thom
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-02-06 10:29:32 | Re: pgsql: Introduce replication slots. |
Previous Message | Peter Eisentraut | 2014-02-06 04:51:15 | pgsql: doc: Disable indentation of XHTML output |