Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1snfVT-005EIu-JN for pgsql-general@arkaria.postgresql.org; Mon, 09 Sep 2024 14:36:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1snfVT-00D9rH-6R for pgsql-general@arkaria.postgresql.org; Mon, 09 Sep 2024 14:36:43 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1snfVS-00D9r7-Oy for pgsql-general@lists.postgresql.org; Mon, 09 Sep 2024 14:36:42 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1snfVO-000JaR-Gx for pgsql-general@lists.postgresql.org; Mon, 09 Sep 2024 14:36:42 +0000 Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-535be093a43so5842992e87.3 for ; Mon, 09 Sep 2024 07:36:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725892598; x=1726497398; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=Bda5c05YyxLbfGlDSL4QvOXVjVeIScbdqZMlqARc1Nc=; b=CjDDlWg/F+jxfh0+e+UbuY8WIfBHgirjJiaUCATQZPB+woDeS7cFcyMllkcVsK8Biz nJWNy0lXDZyom16oXWeY9q/8nBwowc/9fqLYiycZ3VfI1kshgcPsGdUO1/mZ627bmztZ hGDgz3PRT1pSlC7dOxYkeHdpab9nANgqQsw6gUdw+jzDe6SK0w10n9vRpykKEIJzisqB jnNxbQXFAGcLa9F4p8hY1dlcVfaKq+t9R2sPy6znnAM/3p67eJbtM2qPNLfUBy/YRaeJ g85yzj/MYNKUhXZiCk/dv2ZwMJu+o3nGfTcc8wfX+O4jDfnd4tfEGMThmVhKRTeed2y9 twPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725892598; x=1726497398; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Bda5c05YyxLbfGlDSL4QvOXVjVeIScbdqZMlqARc1Nc=; b=dZWWlAhKzmIdo26bOr+yVW5DWVlMA0eQnhZxtk47kIxbLcVe4wvIR7FP6zTHLYri3K BpAbT2GtOaprzMJMc3bW/FPheG0ffrzI8i+BuKORfCwUWJhMJJysuHr2FKbLW1So+5AT IoX/kJks7yIXc4z+yer/GkXKrHt/jjkDij/X2On9G81sJr6Wdk+NarY5lKX4EOGELcMB sG3WPZwnkhMMBzlMkO6goWzbKDHcuXMGEWk4E6+oOM9tiXSzJdKpsEnAMCw8quCXz6Ph 8qmgjOOvAVQDkB3x+ttVtB11G5LnKEN2Ehgf4HK1bh0sINu4g7+izc0T4goolpfDp2fh xXpQ== X-Gm-Message-State: AOJu0YxSCl8W7s5H6wI1egz5hT/w3035b3cr2xJIjaAPbVPhLI2jUyEm P6w2C7Kdsf6fbACpWxB38E9ed31Ved8UPQh4zH8yH4wJzKTjJq0Qx4LGWjNACup4065UOXV6EuA wo7c8rv82Pn2FNoRlQfg0FGuc4ejrkmif X-Google-Smtp-Source: AGHT+IFE54cHviQD6CMln8hU0yDOInQQoWTofz5vqoed/0iD+DM6gO/leLHAcGFsA9fELe5f2Um6e+TQ49wefqQ7AsI= X-Received: by 2002:a05:6512:6cd:b0:533:4560:48b7 with SMTP id 2adb3069b0e04-536587b4595mr8142742e87.30.1725892597165; Mon, 09 Sep 2024 07:36:37 -0700 (PDT) MIME-Version: 1.0 From: Koen De Groote Date: Mon, 9 Sep 2024 16:36:26 +0200 Message-ID: Subject: Logical replication without direct link between publisher and subscriber? To: PostgreSQL General Content-Type: multipart/alternative; boundary="0000000000002cbe0c0621b0af13" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000002cbe0c0621b0af13 Content-Type: text/plain; charset="UTF-8" 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 --0000000000002cbe0c0621b0af13 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I want to have a PG instance receive logical replication f= rom 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 publ= isher host.

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

Is there a w= ay to start a logical replication setup without having the subscriber creat= e a subscription? Run a few commands on the publisher and the subscriber su= ddenly starts receiving data?

From what I've g= oogled, an option would be to use=C2=A0pgrecvlogical:=C2=A0https://www.post= gresql.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 kn= ows about?

Any help and/or suggestions appreciated= .

Thanks,
Koen
--0000000000002cbe0c0621b0af13--