外部数据包装器缓存机制支持

时间:2017-03-20 13:29:05

标签: postgresql caching foreign-data-wrapper

我想使用FDW访问来自不同数据源(CSV,SQL Server,Web Server)的数据。我想知道外来表是否支持缓存机制,以便在连接丢失时数据仍然可用?

感谢。

1 个答案:

答案 0 :(得分:1)

使用MATERIALIZED VIEW

的示例
t=# create foreign table ft1 (pid int,state text) server past options (schema_name 'pg_catalog',table_name 'pg_stat_activity');
CREATE FOREIGN TABLE
Time: 1.771 ms
t=# create materialized view mv1 as select * FROM ft1 where state = 'active';
SELECT 8
Time: 275.935 ms
t=# select * from mv1;
  pid  | state
-------+--------
 15103 | active
 17699 | active
   795 | active
 17211 | active
  3434 | active
 20671 | active
 20888 | active
 27827 | active
(8 rows)

Time: 0.289 ms
t=# refresh materialized view mv1;
REFRESH MATERIALIZED VIEW
Time: 329.095 ms
t=# select * from mv1;
  pid  | state
-------+--------
 15103 | active
 17699 | active
   795 | active
 17211 | active
  3434 | active
 27396 | active
 27780 | active
 27803 | active
(8 rows)

Time: 0.401 ms