Thread

  1. Question: should we block loopback logical replication to the same database?

    Chao Li <li.evan.chao@gmail.com> — 2026-04-07T08:26:26Z

    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/