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.

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?

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)"

Saludos




--

Gustavo J. Vaccaro

http://www.gjv.com.ar


Libre de virus. www.avg.com