Hi, Does anybody use pglogical (http://2ndquadrant.com/en/resources/pglogical/) in production or in lab? Is there any community around this project? Where can I register issue and contribute?
-- Best Regards, Alexey Larin On Mon, 2016-03-21 at 11:31 +0300, alexey.i.la...@gmail.com wrote: > Hi All, > > Try to configure pglogical in such way: > srv1, srv2: CentOS 6.7, PostgreSQL 9.5.1, pglogical 1.0.1 > > On both servers created database "xdray", schema is common and > consists tables t1 and t2. > The srv1 writes to the t1. The t1 added to replication set repset_t1 > on the srv1. > The srv2 writes to the t2. The t2 added to replication set repset_t2 > on the srv2. > The srv1 subscribes on repset_t2. > The srv2 subscribes on repset_t1. > > > > SRV1 SRV2 > +--------------+ +--------------+ > | repset_t1 | | | > | +---------+ | | | > | |t1 +--------------------->t1 | > | +---------+ | | | > | | | repset_t2 | > | | | ----------+ | > | t2<---------------------+t2 | | > | | | +---------+ | > +--------------+ +--------------+ > > > Commands for reproduce. > > > On Srv1 > > $ psql xdray > xdray=# create table t1 (id serial constraint pk_t1 primary key); > xdray=# create table t2 (id serial constraint pk_t2 primary key); > xdray=# select pglogical.create_node('srv1','host=srv1 user=xdray > dbname=xdray'); > xdray=# select pglogical.create_replication_set('repset_t1'); > xdray=# select pglogical.replication_set_add_table('repset_t1', 'public.t1'); > > On Srv2 > > $ psql xdray > xdray=# create table t1 (id serial constraint pk_t1 primary key); > xdray=# create table t2 (id serial constraint pk_t2 primary key); > xdray=# select pglogical.create_node('srv2','host=srv2 user=xdray > dbname=xdray'); > xdray=# select pglogical.create_replication_set('repset_t2'); > xdray=# select pglogical.replication_set_add_table('repset_t2', 'public.t2'); > > > > On Srv1 > > xdray=# select pglogical.create_subscription( > subscription_name := 'sub_t2', > provider_dsn := 'host=srv2 user=xdray dbname=xdray', > replication_sets := ARRAY['repset_t2'], > synchronize_structure := false, > synchronize_data := true); > > On Svr2 > > xdray=# select pglogical.create_subscription( > subscription_name := 'sub_t1', > provider_dsn := 'host=srv1 user=xdray dbname=xdray', > replication_sets := ARRAY['repset_t1'], > synchronize_structure := false, > synchronize_data := true); > > > So far, so good. > But as soon as we commit first transactions on any "producer" tables > we have: > > > On Srv1 > xdray=# insert into t1 default values; > > On log file of Srv1 there are end less errors like: > < 2016-03-21 11:04:26.836 MSK >LOG: worker process: pglogical apply > 16385:1317353735 (PID 31952) exited with exit code 1 > < 2016-03-21 11:04:26.838 MSK >LOG: starting apply for subscription sub_t2 > < 2016-03-21 11:04:26.844 MSK >ERROR: cache lookup failed for replication > origin 'pgl_xdray_srv1_sub_t1' > < 2016-03-21 11:04:26.845 MSK >LOG: worker process: pglogical apply > 16385:1317353735 (PID 31953) exited with exit code 1 > < 2016-03-21 11:04:26.847 MSK >LOG: starting apply for subscription sub_t2 > < 2016-03-21 11:04:26.853 MSK >ERROR: cache lookup failed for replication > origin 'pgl_xdray_srv1_sub_t1' > < 2016-03-21 11:04:26.854 MSK >LOG: worker process: pglogical apply > 16385:1317353735 (PID 31954) exited with exit code 1 > < 2016-03-21 11:04:26.856 MSK >LOG: starting apply for subscription sub_t2 > < 2016-03-21 11:04:26.862 MSK >ERROR: cache lookup failed for replication > origin 'pgl_xdray_srv1_sub_t1' > > On Srv2 log: > < 2016-03-21 11:04:26.837 MSK >LOG: could not receive data from client: > Connection reset by peer > < 2016-03-21 11:04:26.837 MSK >LOG: unexpected EOF on standby connection > < 2016-03-21 11:04:26.840 MSK >LOG: connection received: host=192.168.0.104 > port=42966 > < 2016-03-21 11:04:26.842 MSK >LOG: replication connection authorized: > user=xdray > < 2016-03-21 11:04:26.844 MSK >LOG: starting logical decoding for slot > "pgl_xdray_srv2_sub_t2" > < 2016-03-21 11:04:26.844 MSK >DETAIL: streaming transactions committing > after 0/39E1060, reading WAL from 0/39E1028 > < 2016-03-21 11:04:26.844 MSK >LOG: logical decoding found consistent point > at 0/39E1028 > < 2016-03-21 11:04:26.844 MSK >DETAIL: There are no running transactions. > < 2016-03-21 11:04:26.847 MSK >LOG: could not receive data from client: > Connection reset by peer > < 2016-03-21 11:04:26.847 MSK >LOG: unexpected EOF on standby connection > < 2016-03-21 11:04:26.849 MSK >LOG: connection received: host=192.168.0.104 > port=42967 > < 2016-03-21 11:04:26.851 MSK >LOG: replication connection authorized: > user=xdray > < 2016-03-21 11:04:26.853 MSK >LOG: starting logical decoding for slot > "pgl_xdray_srv2_sub_t2" > < 2016-03-21 11:04:26.853 MSK >DETAIL: streaming transactions committing > after 0/39E1060, reading WAL from 0/39E1028 > < 2016-03-21 11:04:26.853 MSK >LOG: logical decoding found consistent point > at 0/39E1028 > < 2016-03-21 11:04:26.853 MSK >DETAIL: There are no running transactions. > < 2016-03-21 11:04:26.855 MSK >LOG: could not receive data from client: > Connection reset by peer > < 2016-03-21 11:04:26.855 MSK >LOG: unexpected EOF on standby connection > < 2016-03-21 11:04:26.858 MSK >LOG: connection received: host=192.168.0.104 > port=42968 > < 2016-03-21 11:04:26.860 MSK >LOG: replication connection authorized: > user=xdray > < 2016-03-21 11:04:26.862 MSK >LOG: starting logical decoding for slot > "pgl_xdray_srv2_sub_t2" > < 2016-03-21 11:04:26.862 MSK >DETAIL: streaming transactions committing > after 0/39E1060, reading WAL from 0/39E1028 > < 2016-03-21 11:04:26.862 MSK >LOG: logical decoding found consistent point > at 0/39E1028 > < 2016-03-21 11:04:26.862 MSK >DETAIL: There are no running transactions. > < 2016-03-21 11:04:26.864 MSK >LOG: could not receive data from client: > Connection reset by peer > < 2016-03-21 11:04:26.864 MSK >LOG: unexpected EOF on standby connection > < 2016-03-21 11:04:26.867 MSK >LOG: connection received: host=192.168.0.104 > port=42969 > < 2016-03-21 11:04:26.869 MSK >LOG: replication connection authorized: > user=xdray > < 2016-03-21 11:04:26.871 MSK >LOG: starting logical decoding for slot > "pgl_xdray_srv2_sub_t2" > < 2016-03-21 11:04:26.871 MSK >DETAIL: streaming transactions committing > after 0/39E1060, reading WAL from 0/39E1028 > < 2016-03-21 11:04:26.871 MSK >LOG: logical decoding found consistent point > at 0/39E1028 > < 2016-03-21 11:04:26.871 MSK >DETAIL: There are no running transactions. > > > After that replication for repset_t1 is working fine (and our insert > is replicated on srv2), but repset_t2 does not work. > > When we drop sub_t2 all errors are stopped. >