'nocopy data' option is set in SUBSCRIPTION but still data is getting migrated

Started by tusharover 8 years ago2 messages
#1tushar
tushar.ahuja@enterprisedb.com

Hi,

Please refer this scenario -where 'nocopy data' option is set in
SUBSCRIPTION but still data is getting migrated

Publication - (X)
create table t(n int);
insert into t values (generate_series(1,99));
create publication pub for table t;

Subscription (Y)
create table t(n int);
CREATE SUBSCRIPTION sub CONNECTION 'dbname=postgres host=localhost
port=5000 user=centos password=a' PUBLICATION pub WITH (copy
data,SYNCHRONOUS_COMMIT=on);
select count(*) from t; ->showing 99 rows
alter subscription sub refresh publication with (nocopy data);
restart the server (Y)

X - insert more records into table 't'
Y - check the row count , rows have been migrated from X .

Is it the right behavior in this case where nocopy data option is set ?

--
regards,tushar
EnterpriseDB https://www.enterprisedb.com/
The Enterprise PostgreSQL Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#2Petr Jelinek
petr.jelinek@2ndquadrant.com
In reply to: tushar (#1)
Re: 'nocopy data' option is set in SUBSCRIPTION but still data is getting migrated

On 10/05/17 15:27, tushar wrote:

Hi,

Please refer this scenario -where 'nocopy data' option is set in
SUBSCRIPTION but still data is getting migrated

Publication - (X)
create table t(n int);
insert into t values (generate_series(1,99));
create publication pub for table t;

Subscription (Y)
create table t(n int);
CREATE SUBSCRIPTION sub CONNECTION 'dbname=postgres host=localhost
port=5000 user=centos password=a' PUBLICATION pub WITH (copy
data,SYNCHRONOUS_COMMIT=on);
select count(*) from t; ->showing 99 rows
alter subscription sub refresh publication with (nocopy data);
restart the server (Y)

X - insert more records into table 't'
Y - check the row count , rows have been migrated from X .

Is it the right behavior in this case where nocopy data option is set ?

Yes, (no)copy data only affects existing data at the time of running the
command, any additional data are always replicated.

The "alter subscription sub refresh publication" does nothing unless you
added/removed tables to/from publication.

--
Petr Jelinek http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers