Re: IF [NOT] EXISTS for replication slots

From: Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: IF [NOT] EXISTS for replication slots
Date: 2017-02-07 07:10:25
Message-ID: 8f22acd2-5bfb-2cff-4810-7041e28e1335@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 07/02/17 01:00, Michael Paquier wrote:
> On Tue, Feb 7, 2017 at 2:07 AM, Petr Jelinek
> <petr(dot)jelinek(at)2ndquadrant(dot)com> wrote:
>> On 06/02/17 05:15, Michael Paquier wrote:
>>> Hi all,
>>>
>>> Lately I have bumped into a case where it would have been useful to
>>> make the difference between a failure because of a slot already
>>> dropped and an internal failure of Postgres. Is there any interest for
>>> support of IE and INE for CREATE and DROP_REPLICATION_SLOT?
>>> My use case involved only the SQL-callable interface, but I would
>>> think that it is useful to make this difference as well with the
>>> replication protocol. For the function we could just add a boolean
>>> argument to control the switch, and for the replication commands a
>>> dedicated keyword.
>>>
>>> Any thoughts?
>>
>> My thought is, how would this handle the snapshot creation that logical
>> slot does when it's created?
>
> In what is that related to IF NOT EXISTS? If the slot does not get
> created you could just return NULL to the caller to let him know that
> there is something already around.

Well, the current behavior and the common use-case for creating logical
slot via walsender is to get the snapshot which corresponds to LSN, the
above would break that behavior for some variants of the command which I
find rather confusing from user perspective.

> The use-case I have found INE
> useful involved physical slots actually.

I am sure others would find it useful for logical ones as well.

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2017-02-07 07:36:29 Re: \if, \elseif, \else, \endif (was Re: PSQL commands: \quit_if, \quit_unless)
Previous Message Amit Kapila 2017-02-07 07:04:55 Re: Proposal : For Auto-Prewarm.