postgres_fdw : altering foreign table not invalidating prepare statement execution plan. - Mailing list pgsql-hackers

From Rajkumar Raghuwanshi
Subject postgres_fdw : altering foreign table not invalidating prepare statement execution plan.
Date
Msg-id CAKcux6m5cA6rRPTKkqVdJ-R=KKDfe35Q_ZuUqxDSV_4hwga=og@mail.gmail.com
Whole thread Raw
Responses Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan.  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
List pgsql-hackers
<div dir="ltr"><span style="font-size:small">Hi,</span><br /><div class="gmail_quote"><div dir="ltr"><font face="arial,
helvetica,sans-serif"><span style="font-size:small"><br />I observed below in postgres_fdw</span></font><u> .<br /><br
/>Observation:</u>Prepare statement execution plan is not getting changed even after altering foreign table to point to
newschema.<br /><div class="gmail_extra"><div class="gmail_quote"><div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br/>CREATE EXTENSION postgres_fdw;<br />CREATE SCHEMA
s1;<br/>create table <a href="http://s1.lt">s1.lt</a> (c1 integer, c2 varchar);<br />insert into <a
href="http://s1.lt">s1.lt</a>values (1, '<a href="http://s1.lt">s1.lt</a>');<br />CREATE SCHEMA s2;<br />create table
<ahref="http://s2.lt">s2.lt</a> (c1 integer, c2 varchar);<br />insert into <a href="http://s2.lt">s2.lt</a> values (1,
'<ahref="http://s2.lt">s2.lt</a>');<br />CREATE SERVER link_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (dbname
'postgres',port '5447', use_remote_estimate 'true');<br />CREATE USER MAPPING FOR public SERVER link_server;<br /><br
/>createforeign table ft (c1 integer, c2 varchar) server link_server options (schema_name 's1',table_name 'lt');<br
/><br/>ANALYZE ft;<br />PREPARE stmt_ft AS select c1,c2 from ft;<br /><br />EXECUTE stmt_ft;<br /> c1 |  c2   <br
/>----+-------<br/>  1 | <a href="http://s1.lt">s1.lt</a><br />(1 row)<br /><br />--changed foreign table ft pointing
schemafrom s1 to s2<br />ALTER foreign table ft options (SET schema_name 's2', SET table_name 'lt');<br />ANALYZE
ft;<br/><br />EXPLAIN (COSTS OFF, VERBOSE) EXECUTE stmt_ft;<br />               QUERY PLAN               <br
/>----------------------------------------<br/> Foreign Scan on public.ft<br />   Output: c1, c2<br />   Remote SQL:
SELECTc1, c2 FROM <a href="http://s1.lt">s1.lt</a><br />(3 rows)<br /><br />EXECUTE stmt_ft;<br /> c1 |  c2   <br
/>----+-------<br/>  1 | <a href="http://s1.lt">s1.lt</a><br />(1 row)<br /><br /><span
style="font-size:13px"></span><spanstyle="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Thanks &
Regards,</span><br/>Rajkumar Raghuwanshi<br />QMG, EnterpriseDB Corporation<br /></div><blockquote class="gmail_quote"
style="margin:0px0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div
class="gmail_quote"><divdir="ltr"><div class="gmail_quote"><div
dir="ltr"></div></div></div></div></div></blockquote></div></div></div></div></div>

pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: pgbench more operators & functions
Next
From: Craig Ringer
Date:
Subject: Re: Timeline following for logical slots