Re: Copy function for logical replication slots - Mailing list pgsql-hackers

From Masahiko Sawada
Subject Re: Copy function for logical replication slots
Date
Msg-id CAD21AoDvQdX0_kyb8vfRbMy3ZQosaAUZOeK4KSs7_Pr-Any4_A@mail.gmail.com
Whole thread Raw
In response to Re: Copy function for logical replication slots  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: Copy function for logical replication slots
List pgsql-hackers
On Thu, Jul 12, 2018 at 9:28 PM, Masahiko Sawada <sawada.mshk@gmail.com> wrote:
> On Mon, Jul 9, 2018 at 10:34 AM, Michael Paquier <michael@paquier.xyz> wrote:
>> On Mon, Jul 09, 2018 at 10:06:00AM +0900, Masahiko Sawada wrote:
>>> I think that this patch might be splitted but I will be able to send
>>> an updated patch in the next week. As you suggestion this patch needs
>>> more careful thoughts. I'll move this patch to the next commit fest if
>>> I will not be able to sent it. Is that okay?
>>
>> Fine by me.  Thanks for the update.
>
> Attached new version of patch incorporated the all comments I got from
> Michael-san.
>
> To prevent the WAL segment file of restart_lsn of the origin slot from
> removal during creating the target slot, I've chosen a way to copy new
> one while holding the origin one. One problem to implement this way is
> that the current replication slot code doesn't allow us to do
> straightforwardly; the code assumes that the process creating a new
> slot is not holding another slot. So I've changed the copy functions
> so that it save temporarily MyReplicationSlot and then restore and
> release it after creation the target slot. To ensure that both the
> origin and target slot are released properly in failure cases I used
> PG_ENSURE_ERROR_CLEANUP(). That way, we can keep the code changes of
> the logical decoding at a minimum. I've thought that we can change the
> logical decoding code so that it can assumes that the process can have
> more than one slots at once but it seems overkill to me.
>
> Please review it.
>

The previous patch conflicts with the current HEAD. Attached updated
version patch.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Attachment

pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: Upper limit arguments of pg_logical_slot_xxx_changes functionsaccept invalid values
Next
From: Peter Eisentraut
Date:
Subject: Re: Alter index rename concurrently to