Thread: One way replication in PostgreSQL
Hello,
If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master, witch replication systems can I use ?
If possible, I would prefer partial replication (only some tables) to full base replication (all instances).
Do trigger-based replication systems (like Slony or Londiste or others) need a connection or flow from subscriber to the provider ?
If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master, witch replication systems can I use ?
If possible, I would prefer partial replication (only some tables) to full base replication (all instances).
Do trigger-based replication systems (like Slony or Londiste or others) need a connection or flow from subscriber to the provider ?
Thanks in advance
----- Météo-France -----
PALAYRET JACQUES
DCSC/MBD
jacques.palayret@meteo.fr
Fixe : +33 561078319
PALAYRET JACQUES
DCSC/MBD
jacques.palayret@meteo.fr
Fixe : +33 561078319
Greetings, * PALAYRET Jacques (jacques.palayret@meteo.fr) wrote: > If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master,witch replication systems can I use ? The simplest approach might be to use WAL shipping with one of the various backup tools that do that- eg: you could use pgbackrest in the archive_command of the primary system and push WAL to a repo that's on the replica (or some other system that the replica is allowed to connect to). > If possible, I would prefer partial replication (only some tables) to full base replication (all instances). Just to be clear, you couldn't use a WAL-based shipping method for partial replication (at least, not today anyway). Thanks, Stephen
Attachment
Hi, On 6/3/19 6:00 PM, PALAYRET Jacques wrote: > Hello, > > If, for security reasons, I can't create a connection or a flow from > subscriber/secundary/slave towards provider/primary/master, witch > replication systems can I use ? > To perform replication, you need some form of connectivity between the hosts (unless, you want to only apply archived WAL files, as mentioned by Stephen here above). In streaming replication your replica needs to be able to initiate the connection to master If you instead have, let's say, master -> replica or both your hosts can reach a 3rd host, you might work around the problem using an SSH tunnel. I discourage you from this latter option, anyway. > If possible, I would prefer partial replication (only some tables) to > full base replication (all instances). you could have a look into pglogical regards, fabio pardi
You could use FDW to replicate what you need to an external server from the provider/primary/master to the subscriber/secondary/slave
Using triggers on the master tables that you want to replicate, you can execute the insert/update/delete actions on the secondary tables through the FDW.
With this approach you only need a connection from provider to the subscriber.
Regards
On Mon, 2019-06-03 at 18:00 +0200, PALAYRET Jacques wrote:
Hello,
If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master, witch replication systems can I use ?
If possible, I would prefer partial replication (only some tables) to full base replication (all instances).
Do trigger-based replication systems (like Slony or Londiste or others) need a connection or flow from subscriber to the provider ?Thanks in advance----- Météo-France -----
PALAYRET JACQUES
DCSC/MBD
jacques.palayret@meteo.fr
Fixe : +33 561078319
Hello,
Thanks a lot for the suggested solutions.
So, I can use WAL-shipping replication from Primary to the Secundary server, but it's only for full replication.
Let's call " P " the provider/primary/master and " S " the subscriber/secundary/slave one.
For partial replication (not all the tables), the solutions should use a third (intermediate / middle) server which could have both ways flow with the server P but only one way flow towards the server S.
For example, a logical replication (pglogical or logical Postgresql replication) between server P and the middle server and then a WAL-shipping replication between middle server and server S.
Is that right ?
About the " FDW " solution in " an external server " (a middle one), is it possible to integrate the FDW in the P server to avoid the " external server " ?
=> What about the trigger-based replication systems like Slony or Londiste ; is it really necessary to have a connection or flow from the server S towards the server P ?
Regards
Thanks a lot for the suggested solutions.
So, I can use WAL-shipping replication from Primary to the Secundary server, but it's only for full replication.
Let's call " P " the provider/primary/master and " S " the subscriber/secundary/slave one.
For partial replication (not all the tables), the solutions should use a third (intermediate / middle) server which could have both ways flow with the server P but only one way flow towards the server S.
For example, a logical replication (pglogical or logical Postgresql replication) between server P and the middle server and then a WAL-shipping replication between middle server and server S.
Is that right ?
About the " FDW " solution in " an external server " (a middle one), is it possible to integrate the FDW in the P server to avoid the " external server " ?
=> What about the trigger-based replication systems like Slony or Londiste ; is it really necessary to have a connection or flow from the server S towards the server P ?
Regards
De: "PALAYRET Jacques" <jacques.palayret@meteo.fr>
À: pgsql-general@lists.postgresql.org
Envoyé: Lundi 3 Juin 2019 18:00:51
Objet: One way replication in PostgreSQL
À: pgsql-general@lists.postgresql.org
Envoyé: Lundi 3 Juin 2019 18:00:51
Objet: One way replication in PostgreSQL
Hello,
If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master, witch replication systems can I use ?
If possible, I would prefer partial replication (only some tables) to full base replication (all instances).
Do trigger-based replication systems (like Slony or Londiste or others) need a connection or flow from subscriber to the provider ?
If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master, witch replication systems can I use ?
If possible, I would prefer partial replication (only some tables) to full base replication (all instances).
Do trigger-based replication systems (like Slony or Londiste or others) need a connection or flow from subscriber to the provider ?
Thanks in advance
----- Météo-France -----
PALAYRET JACQUES
DCSC/MBD
jacques.palayret@meteo.fr
Fixe : +33 561078319
PALAYRET JACQUES
DCSC/MBD
jacques.palayret@meteo.fr
Fixe : +33 561078319
Le mar. 4 juin 2019 à 09:03, PALAYRET Jacques <jacques.palayret@meteo.fr> a écrit :
Hello,
Thanks a lot for the suggested solutions.
So, I can use WAL-shipping replication from Primary to the Secundary server, but it's only for full replication.
Yes.
Let's call " P " the provider/primary/master and " S " the subscriber/secundary/slave one.
For partial replication (not all the tables), the solutions should use a third (intermediate / middle) server which could have both ways flow with the server P but only one way flow towards the server S.
For example, a logical replication (pglogical or logical Postgresql replication) between server P and the middle server and then a WAL-shipping replication between middle server and server S.
Is that right ?
That could work.
About the " FDW " solution in " an external server " (a middle one), is it possible to integrate the FDW in the P server to avoid the " external server " ?
Not sure I understand where you're going here.
=> What about the trigger-based replication systems like Slony or Londiste ; is it really necessary to have a connection or flow from the server S towards the server P ?
As far as I remember, with Slony, P must be able to connect to S, and S must be able to connect to P.
--
Guillaume.
Dalibo.
On 4/6/19 10:02 π.μ., PALAYRET Jacques wrote:
Hello,
Thanks a lot for the suggested solutions.
So, I can use WAL-shipping replication from Primary to the Secundary server, but it's only for full replication.
Let's call " P " the provider/primary/master and " S " the subscriber/secundary/slave one.
For partial replication (not all the tables), the solutions should use a third (intermediate / middle) server which could have both ways flow with the server P but only one way flow towards the server S.
For example, a logical replication (pglogical or logical Postgresql replication) between server P and the middle server and then a WAL-shipping replication between middle server and server S.
Is that right ?
About the " FDW " solution in " an external server " (a middle one), is it possible to integrate the FDW in the P server to avoid the " external server " ?
=> What about the trigger-based replication systems like Slony or Londiste ; is it really necessary to have a connection or flow from the server S towards the server P ?
I'll describe our solution here, but its a far fetched approach, a diving into uncharted waters situation, but for us it was the only solution back in early 2000.
In one word : The long forgotten DBMirror (Mentioned during "Postgresql 11 : what's old" comments that followed the presentation in Lisbon pgconf2018.eu) . You can setup your triggers, produce your SQL files, sent them to S whatever method you wish and run them without any connectivity from S to P.
Setting up is very easy. However you must be prepared to carry this as "technical debt" in future upgrades.
No Slony expert here, but in https://severalnines.com/blog/experts-guide-slony-replication-postgresql it is mentioned that you can ship in the form of SQL files as well. So you setup a slony slave inside your P system and produce SQL files which you replay to your remote S, with no connectivity to P.
RegardsDe: "PALAYRET Jacques" <jacques.palayret@meteo.fr>
À: pgsql-general@lists.postgresql.org
Envoyé: Lundi 3 Juin 2019 18:00:51
Objet: One way replication in PostgreSQLHello,
If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master, witch replication systems can I use ?
If possible, I would prefer partial replication (only some tables) to full base replication (all instances).
Do trigger-based replication systems (like Slony or Londiste or others) need a connection or flow from subscriber to the provider ?Thanks in advance
-- Achilleas Mantzios IT DEV Lead IT DEPT Dynacom Tankers Mgmt
The FDW is a PostgreSQL extension to connect to other server from PosgreSQL server inside, with this solution you only need connections from P to S and no need a third server (external server), just use triggers to push the INSERT/UPDATE/DELETE information you want to replicate from P to S through Foreign Data Wrapper.
If you need integrity on the replicated information then I suggest to use a control table to store the actions to replicate for the case when it fails you can keep trying til the action succeeds.
Regards
On Tue, 2019-06-04 at 09:02 +0200, PALAYRET Jacques wrote:
Hello,
Thanks a lot for the suggested solutions.
So, I can use WAL-shipping replication from Primary to the Secundary server, but it's only for full replication.
Let's call " P " the provider/primary/master and " S " the subscriber/secundary/slave one.
For partial replication (not all the tables), the solutions should use a third (intermediate / middle) server which could have both ways flow with the server P but only one way flow towards the server S.
For example, a logical replication (pglogical or logical Postgresql replication) between server P and the middle server and then a WAL-shipping replication between middle server and server S.
Is that right ?
About the " FDW " solution in " an external server " (a middle one), is it possible to integrate the FDW in the P server to avoid the " external server " ?
=> What about the trigger-based replication systems like Slony or Londiste ; is it really necessary to have a connection or flow from the server S towards the server P ?
RegardsDe: "PALAYRET Jacques" <jacques.palayret@meteo.fr>
À: pgsql-general@lists.postgresql.org
Envoyé: Lundi 3 Juin 2019 18:00:51
Objet: One way replication in PostgreSQLHello,
If, for security reasons, I can't create a connection or a flow from subscriber/secundary/slave towards provider/primary/master, witch replication systems can I use ?
If possible, I would prefer partial replication (only some tables) to full base replication (all instances).
Do trigger-based replication systems (like Slony or Londiste or others) need a connection or flow from subscriber to the provider ?Thanks in advance----- Météo-France -----
PALAYRET JACQUES
DCSC/MBD
jacques.palayret@meteo.fr
Fixe : +33 561078319