Thread
Commits
-
doc: Fix documenation for snapshot export in logical decoding.
- 4f49456094df 13.22 landed
- 14127818e6a0 14.19 landed
- 0f29022e0591 15.14 landed
- dac37e3f3ba1 16.10 landed
- 90558dbf5483 17.6 landed
- 47d90b741d09 18.0 landed
-
Don't force-assign transaction id when exporting a snapshot.
- 6c2003f8a1bb 10.0 cited
-
Hot standbys now support exporting snapshots while creating a logical replication slot
The Post Office <noreply@postgresql.org> — 2025-05-22T11:53:24Z
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. postgres=# CREATE_REPLICATION_SLOT export LOGICAL pgoutput (SNAPSHOT 'export'); -[ RECORD 1 ]----+-------------------- slot_name | export consistent_point | 0/36C9F28 snapshot_name | 00000072-0000000A-1 output_plugin | pgoutput postgres=# SELECT pg_is_in_recovery(); -[ RECORD 1 ]-----+-- pg_is_in_recovery | t postgres=# SHOW hot_standby; -[ RECORD 1 ]--- hot_standby | on As an aside, I think NOEXPORT_SNAPSHOT is from the older syntax of CREATE_REPLICATION_SLOT and should be swapped with SNAPSHOT 'nothing'. Thanks, Kevin
-
Re: Hot standbys now support exporting snapshots while creating a logical replication slot
Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-05-23T01:42:13Z
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 -
Re: Hot standbys now support exporting snapshots while creating a logical replication slot
Kevin K Biju <kevinkbiju@gmail.com> — 2025-05-23T10:52:13Z
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 > >
-
Re: Hot standbys now support exporting snapshots while creating a logical replication slot
Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-05-23T14:46:36Z
On 2025/05/23 19:52, Kevin K Biju wrote: > Hi Fuiji, > > I wasn't aware that support for exporting snapshots goes as far back as v10. The change looks good. Thanks for the review! I've prepared two patches: one for v15 and later, and another for v13 and v14. Unless there are any objections, I'll go ahead and commit and back-patch the patch to all supported branches. Regards, -- Fujii Masao NTT DATA Japan Corporation
-
Re: Hot standbys now support exporting snapshots while creating a logical replication slot
Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-05-26T03:56:38Z
On 2025/05/23 23:46, Fujii Masao wrote: > > > On 2025/05/23 19:52, Kevin K Biju wrote: >> Hi Fuiji, >> >> I wasn't aware that support for exporting snapshots goes as far back as v10. The change looks good. > > Thanks for the review! > > I've prepared two patches: one for v15 and later, and another for v13 and v14. > Unless there are any objections, I'll go ahead and commit and back-patch the patch > to all supported branches. I've pushed the patch. Thanks! Regards, -- Fujii Masao NTT DATA Japan Corporation