Thread: Logical replication without direct link between publisher and subscriber?

Logical replication without direct link between publisher and subscriber?

From
Koen De Groote
Date:
I want to have a PG instance receive logical replication from a publisher.

However, the subscriber should not have network access to the publisher, in any way. This is for security reasons. No VPN or any setup that allows the subscriber to send traffic to the publisher host.

The publisher, however, can reach the subscriber IP and send traffic to it.

Is there a way to start a logical replication setup without having the subscriber create a subscription? Run a few commands on the publisher and the subscriber suddenly starts receiving data?

From what I've googled, an option would be to use pgrecvlogical: https://www.postgresql.org/docs/current/app-pgrecvlogical.html

Dumping changes periodically, sending them directly or uploading to cloud storage and then downloading and applying them on the subscriber side.

But maybe there's a simpler option someone here knows about?

Any help and/or suggestions appreciated.

Thanks,
Koen

Re: Logical replication without direct link between publisher and subscriber?

From
Greg Sabino Mullane
Date:
Dumping changes periodically, sending them directly or uploading to cloud storage and then downloading and applying them on the subscriber side.
But maybe there's a simpler option someone here knows about?

How about using WAL shipping to populate a replica, and either query that directly or use that as the publisher to your sequestered node?

Cheers,
Greg

I've considered it, but it sounds like a lot of work and failure prone. Even projects like Debezium seem like it's a ton to set up.

Thanks for the suggestions.

Regards,
Koen

On Wed, Sep 11, 2024 at 3:20 PM Greg Sabino Mullane <htamfids@gmail.com> wrote:
Dumping changes periodically, sending them directly or uploading to cloud storage and then downloading and applying them on the subscriber side.
But maybe there's a simpler option someone here knows about?

How about using WAL shipping to populate a replica, and either query that directly or use that as the publisher to your sequestered node?

Cheers,
Greg