本地编译装置fdw插件
cd contrib/postgres_fdwUSE_PGX=1 make install
本地装置extension
postgres=# create extension if not exists postgres_fdw;CREATE EXTENSIONpostgres=# \dx List of installed extensions Name | Version | Schema | Description--------------+---------+------------+---------------------------------------------------- plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language postgres_fdw | 1.0 | public | foreign-data wrapper for remote PostgreSQL servers(2 rows)
本地配置server
postgres=# create server postgres_fdwtest FOREIGN data wrapper postgres_fdw OPTIONS(host '127.0.0.1', port '5432', dbname 'postgres');CREATE SERVERpostgres=# create user mapping for postgres server postgres_fdwtest options(user 'postgres',password 'postgres');CREATE USER MAPPING
本地建表面
postgres=# create foreign table pg_fdw_test(id int,name text) server postgres_fdwtest options (table_name 'pg_fdw_test');CREATE FOREIGN TABLE
远端建表
postgres=# create table pg_fdw_test(id int,name text);CREATE TABLE
本地更新,查问表面
postgres=# insert into pg_fdw_test values(1,'test');INSERT 0 1postgres=# select * from pg_fdw_test; id | name----+------ 1 | test(1 rows)
远端查问
postgres=# select * from pg_fdw_test; id | name----+------ 1 | test(1 row)
postgres=# drop foreign table pg_fdw_test;DROP FOREIGN TABLEdrop server postgres_fdwtest CASCADE;