Re: Hot standbys now support exporting snapshots while creating a logical replication slot

From: Kevin K Biju <kevinkbiju(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
Cc: pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: Hot standbys now support exporting snapshots while creating a logical replication slot
Date: 2025-05-23 10:52:13
Message-ID: CAM45KeERHPNJG_U3fQbqecJgju1-kOiV5hjc0S4+aTjPv2svFg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-docs

Hi Fuiji,

I wasn't aware that support for exporting snapshots goes as far back as
v10. The change looks good.

Thanks,
Kevin

On Fri, May 23, 2025 at 7:12 AM Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
wrote:

>
>
> On 2025/05/22 20:53, PG Doc comments form wrote:
> > The following documentation comment has been logged on the website:
> >
> > Page:
> https://www.postgresql.org/docs/17/logicaldecoding-explanation.html
> > Description:
> >
> > Hi,
> > I'm referring to this bit at the very end of the page: Creation of a
> > snapshot is not always possible. In particular, it will fail when
> connected
> > to a hot standby. Applications that do not require snapshot export may
> > suppress it with the NOEXPORT_SNAPSHOT option.
> > It's not clear what the intention of this is (is it referring only to
> > physical replication slots?) but as it stands you can export snapshots
> while
> > creating a logical replication slot. This should have been possible
> starting
> > PG16, I've tested this on PG17.
>
> The description "Creation of a snapshot is not always possible. In
> particular,
> it will fail when connected to a hot standby." no longer seems accurate.
> Since v10 (commit 6c2003f8a1b), exporting snapshots on a standby has been
> supported.
>
> This description was accurate when the first patch [1] adding that
> description
> was written, but I think we just overlooked updating it later.
>
>
> > As an aside, I think NOEXPORT_SNAPSHOT is from the older syntax of
> > CREATE_REPLICATION_SLOT and should be swapped with SNAPSHOT 'nothing'.
>
> Yes, so how about the following change?
>
> <para>
> - Creation of a snapshot is not always possible. In particular, it
> will
> - fail when connected to a hot standby. Applications that do not
> require
> - snapshot export may suppress it with the
> <literal>NOEXPORT_SNAPSHOT</literal>
> + Applications that do not require
> + snapshot export may suppress it with the <literal>SNAPSHOT
> 'nothing'</literal>
> option.
> </para>
>
> Regards,
>
> [1]
> https://www.postgresql.org/message-id/CAMsr+YFjxv0T8Yi1Q=3tVdgViU2bm+fb_-XUbTfxHsnLDNSkzg@mail.gmail.com
>
> Regards,
>
> --
> Fujii Masao
> Advanced Computing Technology Center
> Research and Development Headquarters
> NTT DATA CORPORATION
>
>

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Fujii Masao 2025-05-23 14:46:36 Re: Hot standbys now support exporting snapshots while creating a logical replication slot
Previous Message Fujii Masao 2025-05-23 01:42:13 Re: Hot standbys now support exporting snapshots while creating a logical replication slot