public inbox for [email protected]  
help / color / mirror / Atom feed
pgsql: Disable logical decoding after REPACK (CONCURRENTLY)
3+ messages / 3 participants
[nested] [flat]

* pgsql: Disable logical decoding after REPACK (CONCURRENTLY)
@ 2026-05-27 18:14 Álvaro Herrera <[email protected]>
  2026-05-27 20:08 ` Re: pgsql: Disable logical decoding after REPACK (CONCURRENTLY) Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 3+ messages in thread

From: Álvaro Herrera @ 2026-05-27 18:14 UTC (permalink / raw)
  To: [email protected]

Disable logical decoding after REPACK (CONCURRENTLY)

REPACK (CONCURRENTLY) uses a temporary logical replication slot, which
is dropped once done, but it wasn't calling RequestDisableLogicalDecoding(),
leaving effective_wal_level stuck at 'logical'.

Fix by adding a Boolean flag to ReplicationSlotDropAcquired() to have it
request to disable logical decoding, and passing it as true on REPACK.
Other callers of that function preserve their existing behavior.

Author: Imran Zaheer <[email protected]>
Reviewed-by: shveta malik <[email protected]>
Discussion: https://postgr.es/m/CA+UBfaktds57dw2M8BEv_kS-=ixph3w+3MxKixtaDQMi_k7Ybg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2af1dc89282bea681201cf66e2bb32537294e623

Modified Files
--------------
src/backend/commands/repack_worker.c           |  2 +-
src/backend/replication/logical/launcher.c     |  3 +-
src/backend/replication/logical/slotsync.c     | 10 ++++--
src/backend/replication/slot.c                 | 48 +++++++++++---------------
src/include/replication/slot.h                 |  2 +-
src/test/recovery/t/051_effective_wal_level.pl | 14 ++++++++
6 files changed, 47 insertions(+), 32 deletions(-)



^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* Re: pgsql: Disable logical decoding after REPACK (CONCURRENTLY)
  2026-05-27 18:14 pgsql: Disable logical decoding after REPACK (CONCURRENTLY) Álvaro Herrera <[email protected]>
@ 2026-05-27 20:08 ` Alexander Korotkov <[email protected]>
  2026-05-27 22:55   ` Re: pgsql: Disable logical decoding after REPACK (CONCURRENTLY) Masahiko Sawada <[email protected]>
  0 siblings, 1 reply; 3+ messages in thread

From: Alexander Korotkov @ 2026-05-27 20:08 UTC (permalink / raw)
  To: Álvaro Herrera <[email protected]>; +Cc: [email protected]

Hi!

On Wed, May 27, 2026 at 9:14 PM Álvaro Herrera <[email protected]> wrote:
> Disable logical decoding after REPACK (CONCURRENTLY)
>
> REPACK (CONCURRENTLY) uses a temporary logical replication slot, which
> is dropped once done, but it wasn't calling RequestDisableLogicalDecoding(),
> leaving effective_wal_level stuck at 'logical'.
>
> Fix by adding a Boolean flag to ReplicationSlotDropAcquired() to have it
> request to disable logical decoding, and passing it as true on REPACK.
> Other callers of that function preserve their existing behavior.
>
> Author: Imran Zaheer <[email protected]>
> Reviewed-by: shveta malik <[email protected]>
> Discussion: https://postgr.es/m/CA+UBfaktds57dw2M8BEv_kS-=ixph3w+3MxKixtaDQMi_k7Ybg@mail.gmail.com

This seams to cause buildfarm failures, for instance
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=loach&dt=2026-05-27%2018%3A25%3A00

------
Regards,
Alexander Korotkov
Supabase






^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* Re: pgsql: Disable logical decoding after REPACK (CONCURRENTLY)
  2026-05-27 18:14 pgsql: Disable logical decoding after REPACK (CONCURRENTLY) Álvaro Herrera <[email protected]>
  2026-05-27 20:08 ` Re: pgsql: Disable logical decoding after REPACK (CONCURRENTLY) Alexander Korotkov <[email protected]>
@ 2026-05-27 22:55   ` Masahiko Sawada <[email protected]>
  0 siblings, 0 replies; 3+ messages in thread

From: Masahiko Sawada @ 2026-05-27 22:55 UTC (permalink / raw)
  To: Alexander Korotkov <[email protected]>; +Cc: Álvaro Herrera <[email protected]>; [email protected]

On Wed, May 27, 2026 at 1:09 PM Alexander Korotkov <[email protected]> wrote:
>
> Hi!
>
> On Wed, May 27, 2026 at 9:14 PM Álvaro Herrera <[email protected]> wrote:
> > Disable logical decoding after REPACK (CONCURRENTLY)
> >
> > REPACK (CONCURRENTLY) uses a temporary logical replication slot, which
> > is dropped once done, but it wasn't calling RequestDisableLogicalDecoding(),
> > leaving effective_wal_level stuck at 'logical'.
> >
> > Fix by adding a Boolean flag to ReplicationSlotDropAcquired() to have it
> > request to disable logical decoding, and passing it as true on REPACK.
> > Other callers of that function preserve their existing behavior.
> >
> > Author: Imran Zaheer <[email protected]>
> > Reviewed-by: shveta malik <[email protected]>
> > Discussion: https://postgr.es/m/CA+UBfaktds57dw2M8BEv_kS-=ixph3w+3MxKixtaDQMi_k7Ybg@mail.gmail.com
>
> This seams to cause buildfarm failures, for instance
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=loach&dt=2026-05-27%2018%3A25%3A00
>

I've just pushed the fix (47ad2233fad) and hope it makes buildfarm
members happy.

Regards,

-- 
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com






^ permalink  raw  reply  [nested|flat] 3+ messages in thread


end of thread, other threads:[~2026-05-27 22:55 UTC | newest]

Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-05-27 18:14 pgsql: Disable logical decoding after REPACK (CONCURRENTLY) Álvaro Herrera <[email protected]>
2026-05-27 20:08 ` Alexander Korotkov <[email protected]>
2026-05-27 22:55   ` Masahiko Sawada <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox