Re: [16] ALTER SUBSCRIPTION ... SET (run_as_owner = ...) is a no-op

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
Cc: Jeff Davis <pgsql@j-davis.com>, "pgsql-bugs@postgresql.org" <pgsql-bugs@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2023-09-11T11:49:02Z
Lists: pgsql-bugs
On Mon, Sep 11, 2023 at 10:46 AM Zhijie Hou (Fujitsu)
<houzj.fnst@fujitsu.com> wrote:
>
> On Sunday, September 10, 2023 4:43 AM Jeff Davis <pgsql@j-davis.com> wrote:
> >
> >
> > Repro:
> >   ALTER SUBSCRIPTION s1 SET (run_as_owner = true);
> >   SELECT subrunasowner FROM pg_subscription WHERE subname='s1';
> >    subrunasowner
> >   ---------------
> >    f
> >   (1 row)
> >
>
> Thanks for reporting. I can also reproduce the issue. I think it's because we
> didn't reflect the option change on catalog. Here is a small patch 0001 to fix it.
>

Your fix looks good to me.

> > It also looks like a change to that field may not cause the subscription worker to
> > restart. It would be good to add a test for that case.
>
> Currently, the changes on run_as_owner won't cause the worker to restart
> because we don't need to rebuild the connection in this case. The option change
> will be caught by apply worker in next loop and the later changes will be
> applied using the new option. the 0002 patch adds a test to verfiy it, just to
> show how it behaves.
>

Is there a reason to not include 0002 in the commit?

Shall we push this before 16 or wait for it? I don't if we have enough
time or if it is worth pushing at the last minute. I can take care of
pushing this tomorrow morning if we decide that it is okay to go ahead
with this unless Jeff or Robert pushes it.

-- 
With Regards,
Amit Kapila.



Commits

  1. Fix the ALTER SUBSCRIPTION to reflect the change in run_as_owner option.