From: | Dilip Kumar <dilipbalaut(at)gmail(dot)com> |
---|---|
To: | vignesh C <vignesh21(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Logical replication - schema change not invalidating the relation cache |
Date: | 2021-07-02 06:33:38 |
Message-ID: | CAFiTN-sqPxGwfC7+PsDKZUd9O9R5EevWF-sPE2EJj=doPndRyw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Jul 2, 2021 at 11:11 AM vignesh C <vignesh21(at)gmail(dot)com> wrote:
>
> Hi,
>
> I found a strange behavior when there is an insert after renaming the
> schema. The test steps for the same are given below, Here after the
> schema is renamed, the renamed schema table data should not be sent,
> but the data was being sent. I felt the schema invalidation was not
> called, attached a patch to handle the same. Thoughts?
>
> step 1)
> Create schema sch1;
> Create table sch1.t1(c1 int);
> CREATE PUBLICATION mypub1 FOR all tables;
>
> Step 2)
> CREATE SCHEMA sch1;
> CREATE TABLE sch1.t1(c1 int);
> CREATE SCHEMA sch2;
> CREATE TABLE sch2.t1(c1 int);
> CREATE TABLE t1(c1 int);
> CREATE SUBSCRIPTION mysub1 CONNECTION 'host=localhost port=5432
> dbname=postgres' PUBLICATION mypub1;
>
> Step 3)
> begin;
> insert into sch1.t1 values(1);
> alter schema sch1 rename to sch2;
> create schema sch1;
> create table sch1.t1(c1 int);
> insert into sch1.t1 values(2);
> insert into sch2.t1 values(3);
> commit;
>
> step 4)
> select * from sch1.t1; # In subscriber
> Got:
> c1
> ----
> 1
> 2
> 3
> (3 rows)
>
> Expected:
> c1
> ----
> 1
> 2
> (2 rows)
Yeah, this looks like a bug. I will look at the patch.
--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Andrey Borodin | 2021-07-02 06:39:39 | Re: Synchronous commit behavior during network outage |
Previous Message | Bharath Rupireddy | 2021-07-02 06:33:07 | Re: Can a child process detect postmaster death when in pg_usleep? |