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
-
pg_createsubscriber: Fix duplicate publication name rejection.
- 6ce035ffff44 19 (unreleased) landed