2017-03-20 1 views
1

Je souhaite utiliser des FDW pour accéder à des données provenant de différentes sources de données (CSV, SQL Server, Web Server). Je veux savoir si le mécanisme de mise en cache est pris en charge pour les tables étrangères, de sorte que lorsque la connexion est perdue, les données sont toujours disponibles?Prise en charge du mécanisme de mise en cache des wrappers de données étrangères

Merci.

+2

https://www.postgresql.org/docs/current/static/sql-creatematerializedview.html servirait que –

+0

puis-je créer une vue matérialisée de la table étrangère ou ce est seulement pour les tables locales? – User193452

+0

sûr. même que les tables locales - il suffit de définir le qry –

Répondre

1

exemple en utilisant 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