Re: pg_createsubscriber: allow duplicate publication names

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

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

Attachments


> 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
> ```
> 
> 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.

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




Commits

  1. pg_createsubscriber: Fix duplicate publication name rejection.