| From: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
|---|---|
| To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Question: should we block loopback logical replication to the same database? |
| Date: | 2026-04-07 08:26:26 |
| Message-ID: | 25C3F6A7-DC52-48AE-B43C-0D8665CAB74A@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
While testing a patch today, I tried to set up logical replication on the same cluster. Although I have done that many times before, I made a mistake this time: I accidentally ran the CREATE SUBSCRIPTION command in the source database session, and the subscription was created successfully:
```
evantest=# CREATE SUBSCRIPTION mysub CONNECTION 'host=localhost dbname=evantest user=repl password=secret' PUBLICATION mypub WITH (create_slot = false);
CREATE SUBSCRIPTION
```
After that, something weird started to happen. The destination table was empty, but the logs kept reporting duplicate-key errors. It took me a while to realize that the problem was this mistake.
This made me wonder whether we should block this kind of loopback logical replication to the same database. I am not aware of a way to use different destination table names, so this setup does not seem useful. Blocking it could help prevent this kind of unnecessary mistake.
Before working on a patch, I wanted to check with hackers first. If there are no objections, I can propose a patch. Please let me know if I am missing something.
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ilya Cherdakov | 2026-04-07 08:31:03 | Re: Environment variable to disable diffs file output |
| Previous Message | Andrei Lepikhov | 2026-04-07 08:22:48 | Re: Clean up remove_rel_from_query() after self-join elimination commit |