> 2020年3月16日 下午2:23,Prabhat Sahu <prabhat.s...@enterprisedb.com> 写道: > > Hi Wenjing, > Please check the below scenario, where the Foreign table on GTT not showing > records. > > postgres=# create extension postgres_fdw; > CREATE EXTENSION > postgres=# do $d$ > begin > execute $$create server fdw foreign data wrapper postgres_fdw options > (host 'localhost',dbname 'postgres',port '$$||current_setting('port')||$$')$$; > end; > $d$; > DO > postgres=# create user mapping for public server fdw; > CREATE USER MAPPING > > postgres=# create table lt1 (c1 integer, c2 varchar(50)); > CREATE TABLE > postgres=# insert into lt1 values (1,'c21'); > INSERT 0 1 > postgres=# create foreign table ft1 (c1 integer, c2 varchar(50)) server fdw > options (table_name 'lt1'); > CREATE FOREIGN TABLE > postgres=# select * from ft1; > c1 | c2 > ----+----- > 1 | c21 > (1 row) > > postgres=# create global temporary table gtt1 (c1 integer, c2 varchar(50)); > CREATE TABLE > postgres=# insert into gtt1 values (1,'gtt_c21'); > INSERT 0 1 > postgres=# create foreign table f_gtt1 (c1 integer, c2 varchar(50)) server > fdw options (table_name 'gtt1'); > CREATE FOREIGN TABLE > > postgres=# select * from gtt1; > c1 | c2 > ----+--------- > 1 | gtt_c21 > (1 row) > > postgres=# select * from f_gtt1; > c1 | c2 > ----+---- > (0 rows) > > --
I understand that postgre_fdw works similar to dblink. postgre_fdw access to the table requires a new connection. The data in the GTT table is empty in the newly established connection. Because GTT shares structure but not data between connections. Try local temp table: create temporary table ltt1 (c1 integer, c2 varchar(50)); insert into ltt1 values (1,'gtt_c21'); create foreign table f_ltt1 (c1 integer, c2 varchar(50)) server fdw options (table_name 'ltt1'); select * from ltt1; c1 | c2 ----+--------- 1 | gtt_c21 (1 row) select * from l_gtt1; ERROR: relation "l_gtt1" does not exist LINE 1: select * from l_gtt1; Wenjing > With Regards, > Prabhat Kumar Sahu > EnterpriseDB: http://www.enterprisedb.com <http://www.enterprisedb.com/>