· 7 years ago · Sep 05, 2018, 09:40 PM
1CREATE EXTENSION IF NOT EXISTS postgres_fdw;
2CREATE EXTENSION IF NOT EXISTS dblink;
3
4CREATE SERVER {server_name}
5 FOREIGN DATA WRAPPER postgres_fdw
6 OPTIONS (
7 host {src_host},
8 port {src_port},
9 dbname {src_db}
10 )
11;
12
13CREATE USER MAPPING
14 FOR CURRENT_USER
15 SERVER {server_name}
16 OPTIONS (
17 user {src_username}
18 password {src_password}
19 )
20;
21
22CREATE SCHEMA IF NOT EXISTS {dst_schema};
23DROP FOREIGN TABLE IF EXISTS {dst_schema}.{src_table} CASCADE;
24IMPORT FOREIGN SCHEMA {src_schema}
25 LIMIT TO ({src_table})
26 FROM SERVER {server_name}
27 INTO {dst_schema}
28;
29
30
31select *
32from information_schema.foreign_tables
33;
34
35
36select
37 srvname as name,
38 srvowner::regrole as owner,
39 fdwname as wrapper,
40 srvoptions as options
41from pg_foreign_server
42join pg_foreign_data_wrapper w on w.oid = srvfdw;