Re: Logical replication - schema change not invalidating the relation cache

Поиск
Список
Период
Сортировка
От Dilip Kumar
Тема Re: Logical replication - schema change not invalidating the relation cache
Дата
Msg-id CAFiTN-t7HYGft-TnpiwsNcp+TF_vrB+3nDuNjSoM02R0VY733Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Logical replication - schema change not invalidating the relation cache  (Dilip Kumar <dilipbalaut@gmail.com>)
Ответы Re: Logical replication - schema change not invalidating the relation cache
Список pgsql-hackers
On Fri, Jul 2, 2021 at 12:03 PM Dilip Kumar <dilipbalaut@gmail.com> wrote:
>
> Yeah, this looks like a bug.  I will look at the patch.
>

While looking into this, I think the main cause of the problem is that
schema rename does not invalidate the relation cache right?  I also
tried other cases e.g. if there is an open cursor and we rename the
schema

CREATE SCHEMA sch1;
CREATE TABLE sch1.t1(c1 int);
insert into sch1.t1 values(1);
insert into sch1.t1 values(2);
insert into sch1.t1 values(3);
BEGIN;
DECLARE mycur CURSOR FOR SELECT * FROM sch1.t1;
FETCH NEXT FROM mycur ;
----------At this point rename sch1 to sch2 from another session------
FETCH NEXT FROM mycur ;
UPDATE sch2.t1 SET c1 = 20 WHERE CURRENT OF mycur;
select * from sch2.t1 ;

So even after the schema rename the cursor is able to fetch and its
also able to update on the same table in the new schema, ideally using
CURRENT OF CUR, you can update the same table for which you have
declared the cursor.  I am giving this example because this behavior
also looks somewhat similar.

-- 
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bharath Rupireddy
Дата:
Сообщение: Re: logical replication worker accesses catalogs in error context callback
Следующее
От: Fabien COELHO
Дата:
Сообщение: Re: rand48 replacement