Re: Hot standbys now support exporting snapshots while creating a logical replication slot - Mailing list pgsql-docs

From Kevin K Biju
Subject Re: Hot standbys now support exporting snapshots while creating a logical replication slot
Date
Msg-id CAM45KeERHPNJG_U3fQbqecJgju1-kOiV5hjc0S4+aTjPv2svFg@mail.gmail.com
Whole thread Raw
List 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.fujii@oss.nttdata.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

pgsql-docs by date:

Previous
From: Fujii Masao
Date:
Subject: Add missing references to database object statistics manipulation functions in documentation
Next
From: Fujii Masao
Date:
Subject: Re: Hot standbys now support exporting snapshots while creating a logical replication slot