Hi Community,
I have a problem related to native PostgreSQL logical replication.
I have three servers, two of them (node1 and node2) are configured in physical replica working correctly. The failover happens between them also without problems.
Between them there is a floating virtual IP that always is up on the server that has the role of Primary.
The Primary server has been configured as a Publisher and a third server (node3) has been configured as a Subscriber for a cluster database by connecting to the virtual IP.
The objective is that the Subscriber server receives the data from the Primary server, either (node1 or node2) one is.
The objective is that the Subscriber server receives the data from the Primary server, either (node1 or node2) one is.
But it does not work. When the failover occurs, the Standby server promotes as Primary, acquires the Virtual IP but the Subscriber stops replicating.
The following lines are recorded in the subscriber log:
The following lines are recorded in the subscriber log:
2023-04-05 13:16:10.575 CEST [7154] LOG: el ayudante «apply» de replicación lógica para la suscripción «db_demo_sub» ha iniciado
2023-04-05 13:16:10.590 CEST [7154] ERROR: no se pudo iniciar el flujo de WAL: ERROR: no existe el slot de replicación «db_demo_sub»
2023-04-05 13:16:10.592 CEST [6694] LOG: proceso ayudante «logical replication worker» (PID 7154) terminó con código de salida 1
2023-04-05 13:16:10.590 CEST [7154] ERROR: no se pudo iniciar el flujo de WAL: ERROR: no existe el slot de replicación «db_demo_sub»
2023-04-05 13:16:10.592 CEST [6694] LOG: proceso ayudante «logical replication worker» (PID 7154) terminó con código de salida 1
Any ideas?
We want the Subscriber always replicate the data from the Primary server, whatever it is. That's why the virtual IP, but it's not working.
Thanks!