Re: Replicacion con Postgres 10

From: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
To: Jaime Soler <jaime(dot)soler(at)gmail(dot)com>, "gustavo_vaccaro(at)fibertel(dot)com(dot)ar" <gustavo_vaccaro(at)fibertel(dot)com(dot)ar>
Cc: "pgsql-es-ayuda(at)lists(dot)postgresql(dot)org" <pgsql-es-ayuda(at)lists(dot)postgresql(dot)org>
Subject: Re: Replicacion con Postgres 10
Date: 2017-10-30 21:07:09
Message-ID: BN6PR15MB1203406D0190FCF0D00CBC69E3590@BN6PR15MB1203.namprd15.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

________________________________
From: Jaime Soler <jaime(dot)soler(at)gmail(dot)com>
Sent: Sunday, October 29, 2017 8:47 PM
To: gustavo_vaccaro(at)fibertel(dot)com(dot)ar
Cc: pgsql-es-ayuda(at)lists(dot)postgresql(dot)org
Subject: Re: Replicacion con Postgres 10

La versión de logical replication de v10 aún no implementa estrategias de resolución de conflictos, para ello o te esperas a la v11 o usas pglogical que sí lo tiene, a parte de más funcionalidades que con el tiempo pasarán al core de postgresql

No entedi bien esta parte aqui, que es pglogical ? Suponia que la version de Postgres traia pglogical pero me dices que es distinta. Cual es la diferencia, donde puedo encontrar a pglogical ?

El 25 oct. 2017 12:35, "Gustavo Vaccaro" <gustavojosevaccaro(at)gmail(dot)com<mailto:gustavojosevaccaro(at)gmail(dot)com>> escribió:

Jaime,

gracias por tus comentarios.

Hice tantas pruebas que no me di cuenta que estaba trabajando con una vista.

Saludos

Gustavo J. Vaccaro
http://www.gjv.com.ar

El 25/10/2017 a las 4:09, Jaime Casanova escribió:

2017-10-24 7:06 GMT-05:00 Gustavo Vaccaro <gustavojosevaccaro(at)gmail(dot)com><mailto:gustavojosevaccaro(at)gmail(dot)com>:

Hola,

ayer hice una simulacion de replicacion con Postgres 10.
Instale dos server (virtuales) con sus respectivos postgres, a uno le puse una base de datos con datos cargados y a la otra solo la
estructura (sin datos).
Hice todos los pasos para crear la replicacion (publicacion y suscripcion) y funciono perfecto.
Me asombro lo facil que es y lo bien que funciona.

que bueno que opines eso, se lo haré saber a mis compañeros de
2ndQuadrant que desarrollaron esta característica

Todos los cambios son replicados sin problemas hasta que force un conflicto.
Di de alta un registro en la base de datos que tiene la suscripcion y despues lo di de alta en la publicacion.
El log me indica que la llave ya existe (el registro existe) y por lo tanto se detiene la replicacion.

Mis preguntas son:

1) ¿Tengo alguna funcion o consulta que me permita detectar los conflictos sin mirar el log?

no, la replicación lógica no pretende permitir escrituras en el origen
y en la réplica. para eso existe BDR que provee replicación
bi-direccional y resolución de conflictos

2) ¿Como hago para que continue la replicacion?
La respuesta simple es eliminar el registro que de la suscripcion.
Pero queria ver si se podia saltear la instruccion o algo parecido.
Encontre esta funcion pg_replication_origin_advance(node_name text, lsn pg_lsn) pero no se como pasar el parametro lsn.
Probe con este formato pg_replication_origin_status('tdf'::text, '0/31CFECD8'::pg_lsn) y me tira el error
"no existe la función pg_replication_origin_status(text, pg_lsn)"

eso es porque pg_replication_origin_status es una vista, no una función. prueba:
select * from pg_replication_origin_status;

[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png]<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> Libre de virus. www.avg.com<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Soler 2017-10-30 21:20:53 Re: Replicacion con Postgres 10
Previous Message Edwin Quijada 2017-10-30 20:48:44 Re: Informacion archivos base de datos