postgresql fdw 常用操作

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');
posted @   kingron  阅读(159)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示