postgres_fdw 创建 sql/med 示例

创建 postgres_fdw 扩展,只需创建一次,重复执行会提示该扩展已创建:

create extension postgres_fdw;

创建外部数据库对象

CREATE SERVER fd_dvdrental_server FOREIGN DATA WRAPPER postgres_fdw
OPTIONS ( HOST '127.0.0.1', dbname'dvdrental', port '5432' );

创建外部数据库的用户映射,把当前用户映射到外部数据库对象 fd_dvdrental_server 的 test 用户:

CREATE USER MAPPING FOR CURRENT_USER SERVER fd_dvdrental_server
OPTIONS ( USER 'test', PASSWORD 'test123' );

创建外部表,外部表对应外部数据库对象 fd_dvdrental_server 上的 school_for_med 表,这里创建的外部表字段必须是外部数据库对象上的原始表的子集,且字段类型也要一致:

CREATE FOREIGN TABLE fd_t_school_for_med ( 
school_id INT4 NOT NULL, --不外表不支持 primary key
school_code VARCHAR ( 10 ),
school_name VARCHAR ( 100 ) 
) 
SERVER fd_dvdrental_server OPTIONS ( TABLE_NAME'school_for_med' );

发表评论