fdw
-- 安装外部服务扩展
create extension postgres_fdw;
-- 创建外部服务
create server postgres_server foreign data wrapper postgres_fdw options (host '192.168.10.188', port '1521', dbname 'testdb');
-- 修改外部服务器配置
-- 主机、端口和 database 这几项连接设置的更改只会对新建立的会话生效,不会影响已有会话
alter server postgres_server options (set host '192.168.10.188')
-- 查看外部服务器
\des
-- 查看外部服务器的详细信息
\des+
-- 删除外部服务
drop server postgres_server;
-- 创建用户映射
create user mapping for postgres server postgres_server options (user 'pca', password 'pca');
-- 查看用户映射信息
\deu
\deu+
-- 创建外部表
create foreign table postgres_table (id int, name varchar) server postgres_server options (schema_name 'public', table_name 'test1');
-- 设置外部表只读
alter foreign table postgres_table options (add updatable 'false');
-- 删除外部表 name 字段
alter foreign table postgres_table drop column name;
-- 给外部表添加字段
alter foreign table postgres_table add column name varchar(100);
-- 查看外部表
\det
\det+
-- 删除外部表
drop foreign table postgres_table;
-- 导入远程数据库中的所有表
-- 本地创建用来存放的 schema
create schema remote_public;
-- options:
-- import_collate 是否导入字符集排序规则设置,默认 true
-- import_default 是否导入字段默认值属性,默认 false
-- import_not_null 是否导入字段的 not null 属性,默认 true
import foreign schema public from server postgres_server into remote_public options (import_default 'true');
-- LIMIT TO 导入 schema 时指定某些表
import foreign schema public limit to (student, test) from server postgres_server into remote_public;
-- EXCEPT 导入 schema 时排除某些表
import foreign schema public except (student, test) from server postgres_server into remote_public;
file_fdw
访问外部表(文件),读取任意程序的输出并将其转化为数据表(只读)。
-- 创建 file_fdw 扩展
create extension file_fdw;
-- 创建外部表服务
create server filefdw_server foreign data wrapper file fdw;
-- 无需用户映射
-- 创建外部表
create foreign table emp_new (
empno int, -- primary key 此处不能加主键
...
) server filefdw_server
-- 从文件导入
options (filename '/tmp/data.csv', format 'csv');
标签:常用,postgresql,postgres,--,server,fdw,table,foreign
From: https://www.cnblogs.com/kingron/p/18230652