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
- v3-0001-pg_createsubscriber-allow-duplicate-publication-n.patch (application/octet-stream) patch v3-0001
> 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
-
pg_createsubscriber: Fix duplicate publication name rejection.
- 6ce035ffff44 19 (unreleased) landed