Re: POC: enable logical decoding when wal_level = 'replica' without a server restart

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: shveta malik <shveta(dot)malik(at)gmail(dot)com>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
Date: 2025-10-22 21:23:03
Message-ID: CAD21AoAM+4eUu2aynV7YbShF2hu+mrEF4LhPb1FY9NvhQ5eAMQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Oct 22, 2025 at 4:06 AM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
>
> On Wed, Oct 22, 2025 at 2:58 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> >
> > On Wed, Oct 22, 2025 at 2:40 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
> > >
> > > On Fri, Oct 17, 2025 at 11:09 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> > > >
> > >
> > > I want to discuss the create-publication case, which currently gives
> > > this warning:
> > >
> > > postgres=# create publication pub1 for all tables;
> > > WARNING: logical decoding should be allowed to publish logical changes
> > > HINT: Before creating subscriptions, set "wal_level" >= "logical" or
> > > create a logical replication slot when "wal_level" = "replica".
> > > CREATE PUBLICATION
> > >
> > > But is this warning really necessary during publication creation?
> > >
> >
> > On HEAD, the WARNING/HINT is as follows for the above case:
> > WARNING: "wal_level" is insufficient to publish logical changes
> > HINT: Set "wal_level" to "logical" before creating subscriptions.
> >
> > Shouldn't we simply change the HINT to "Set "wal_level" to "logical"
> > or create a logical replication slot before creating subscriptions."?
> >
>
> My point was do we really need this WARNING considering case a) does
> not need it now and case b) also gives different ERROR (cases
> mentioned in previous email). But if we plan to retain the WARNING,
> then I agree with the change proposed here, it looks simpler and
> better.

I guess I understand your point. Without the patch, the WARNING
message makes sense because if users create a publication with
wal_level='replica', they need to change wal_level to 'logical' to
start logical replication. That is, it works like telling users some
required operations that they might have missed. On the other hand,
with the patch, logical decoding is automatically enabled when they
start logical replication, and any additional step is no longer
necessary. I find the message makes less sense now but is still
required in 'minimal' WAL level cases?

Regards,

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2025-10-22 21:48:34 Re: fix type of infomask parameter in static inline functions
Previous Message Tom Lane 2025-10-22 21:16:54 Re: fix type of infomask parameter in static inline functions