From: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
---|---|
To: | Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com> |
Cc: | Peter Smith <smithpb2250(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, YeXiu <1518981153(at)qq(dot)com>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, shveta malik <shveta(dot)malik(at)gmail(dot)com> |
Subject: | Re: Skipping schema changes in publication |
Date: | 2025-07-22 10:27:34 |
Message-ID: | CAJpy0uCjAvaGn5y_48MR=DHahoB36VpqK6RkMryLKYBU+YHE5g@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Shlok, I was trying to validate the interaction of
'publish_via_partition_root' with 'EXCEPT". Found some unexpected
behaviour, can you please review:
Pub:
---------
CREATE TABLE tab_root (range_col int,i int,j int) PARTITION BY RANGE
(range_col);
CREATE TABLE tab_part_1 PARTITION OF tab_root FOR VALUES FROM (1) to (1000);
CREATE TABLE tab_part_2 PARTITION OF tab_root FOR VALUES FROM (1000) to (2000);
create publication pub2 for all tables except tab_part_2 WITH
(publish_via_partition_root=true);
Sub (tables without partition):
--------
CREATE TABLE tab_root (range_col int,i int,j int);
CREATE TABLE tab_part_1(range_col int,i int,j int);
CREATE TABLE tab_part_2(range_col int,i int,j int);
create subscription sub2 connection '...' publication pub2;
Pub:
--------
insert into tab_part_2 values(1001,1,1);
On Sub, the above row is replicated as expected in tab_root due to
publish_via_partition_root=true on pub.
Now on Pub:
--------
alter publication pub2 set (publish_via_partition_root=false);
insert into tab_part_2 values(1002,2,2);
Now with publish_via_partition_root=false and 'except tab_part_2', the
above row is correctly ignored and not replicated on sub.
But when I try this:
insert into tab_part_1 values(1,1,1);
insert into tab_root values(5,5,5);
Expectation was that the above rows are replicated but that is not the
case. Can you please review? Please let me know if my understanding is
wrong.
thanks
Shveta
From | Date | Subject | |
---|---|---|---|
Next Message | jian he | 2025-07-22 10:28:18 | Re: Fix tab completion in v18 for ALTER DATABASE/USER/ROLE ... RESET |
Previous Message | jian he | 2025-07-22 10:21:35 | icu_validation_level INFO message level not displayed in pg_settings.enumvals |