Is it valid to have logical replication between 2 databases on the same postgres server?

From: Ryan Murphy <ryanfmurphy(at)gmail(dot)com>
To: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Is it valid to have logical replication between 2 databases on the same postgres server?
Date: 2018-01-24 09:41:14
Message-ID: CAHeEsBfujeF+rgn3WA2Xyw9MjJAyAyMmZkJU-Pyatfc2eW81yw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello hackers,

I'm experimenting with Logical Replication.
(https://www.postgresql.org/docs/10/static/logical-replication.html)
What I'm trying to do may be impossible l but just wanted to ask here.

I'm trying to do logical replication from one database to another within
the same server.
Ultimately I want to do it between servers but was just trying this for
connection simplicity (same host etc).

*Details:*

I have a postgres server running (11devel) with a database, call it db1.
I created a new database on the same server, call it db2.
I also created a test table, call it table1:
CREATE TABLE table1 (id serial primary key, name text, tags text[]);

On both databases I ran:
ALTER SYSTEM SET wal_level = logical;

(not sure if that's redundant because it's the same server?)

On db1 I ran:
CREATE PUBLICATION test_pub FOR TABLE table1;
On db2 I ran:
CREATE SUBSCRIPTION test_sub
CONNECTION 'host=127.0.0.1 dbname=db1 user=xxxxxx password=xxxxxx'
PUBLICATION test_pub;

It just hangs.

I'm imagining that this is because WAL is at the server level, not the db
level, and it's impossible for the same server to logically replicate to
itself, even though it's 2 separate databases. Am I right that that's the
problem? Could someone help me get pointed in the right direction?

Thanks a lot!

Best,
Ryan

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2018-01-24 09:57:27 Re: [HACKERS] parallel.c oblivion of worker-startup failures
Previous Message Vik Fearing 2018-01-24 09:33:17 Re: proposal: alternative psql commands quit and exit