Re: pg_createsubscriber: allow duplicate publication names

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

From: Chao Li <li.evan.chao@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Shubham Khanna <khannashubham1197@gmail.com>
Date: 2026-06-02T09:17:18Z
Lists: pgsql-hackers

> On Jun 2, 2026, at 16:57, Amit Kapila <amit.kapila16@gmail.com> wrote:
> 
> On Tue, Jun 2, 2026 at 1:29 PM Chao Li <li.evan.chao@gmail.com> wrote:
>> 
>>> On Jun 2, 2026, at 15:32, Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com> wrote:
>>> 
>>> Dear Chao, Amit,
>>> 
>>>> In theory, yes, since subscription names are also unique per database. I didn’t
>>>> include that in v1 because the publication-name issue affects the new PG19
>>>> feature for reusing existing publications, whereas allowing duplicate subscription
>>>> names seems like an improvement that could be a material of v20.
>>>> 
>>>> As you ask, I put the subscription-name change in 0002. Please decide how to
>>>> proceed. If you decide to accept both, they can be squashed.
>>> 
>>> For subscription side, I had a concern that name duplication error can be more likely
>>> to happen if we specify the same subscription name for two databases. Because the
>>> same will be reused for the slot name. Reproducer:
>>> 
>>> ```
>>> $ pg_createsubscriber -D data_sta/ -P 'user=postgres port=5432' -d postgres --subscription sub -d testdb --subscription sub -U postgres
>>> ...
>>> pg_createsubscriber: error: could not create replication slot "sub" in database "testdb": ERROR:  replication slot "sub" already exists
>>> ```
>>> 
> 
> Can't we use --replication-slot=name to avoid this ERROR? I mean use
> different replication slot names.

Yes, we can.

The additional work I was thinking of is that, to support duplicate subscription names, when there are duplicate subscription names and the --replication-slot option is omitted, we may need an extra sanity check to prevent creating slots with the same name and then failing.

> 
>>> Personally -1 to accept the idea as-is.
>>> 
>>> Best regards,
>>> Hayato Kuroda
>>> FUJITSU LIMITED
>>> 
>> 
>> Good point. Allowing duplicate subscription names would require additional work, so let's leave that for v20. I'm going to withdraw 0002. I also updated 0001's commit message to explain why subscription names are excluded.
>> 
> 
> I was not suggesting to get the subscription work for PG19. Otherwise,
> your patch for publication names looks good to me.
> 

Got it. I can put the subscription work on my TODO list for v20.

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







Commits

  1. pg_createsubscriber: Fix duplicate publication name rejection.