Re: Bug in ALTER SUBSCRIPTION ... SERVER / ... CONNECTION with broken old server

Chao Li <li.evan.chao@gmail.com>

From: Chao Li <li.evan.chao@gmail.com>
To: Zsolt Parragi <zsolt.parragi@percona.com>
Cc: Ajin Cherian <itsajin@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2026-05-06T07:57:51Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Check retain_dead_tuples for ALTER SUBSCRIPTION ... SERVER.

Attachments


> On May 6, 2026, at 04:53, Zsolt Parragi <zsolt.parragi@percona.com> wrote:
> 
> Hello
> 
> - server = GetForeignServer(subform->subserver);
> + server = GetForeignServer(sub->serverid);
> 
> Couldn't we also move this inside the if?

Ah, true. Both aclresult and server can be moved into the if.

> 
> +/*
> + * Return the subscription's connection string, loading it into the
> + * subscription memory context if necessary.
> + *
> + * GetSubscription must be called earlier to set sub->serverid, because ACL
> + * checks are performed there.
> + */
> +char *
> +GetSubscriptionConnInfo(Subscription *sub)
> 
> This is related to Ajin's comment earlier, the part about ACL check
> seems incorrect to me.

Yes, see my reply to Ajin in the previous email.

PFA v3 - addressed Ajin and Zsolt’s comments.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/