postgres_fdw
该扩展使Postgres能够查询远程Postgres服务器上的表和视图。
启用扩展
- 进入仪表盘的数据库页面
- 在侧边栏点击扩展
- 搜索"postgres_fdw"并启用该扩展
创建到其他数据库的连接
1
创建外部服务器
定义远程数据库地址
1234567create server "<foreign_server_name>" foreign data wrapper postgres_fdw options ( host '<host>', port '<port>', dbname '<dbname>' );
2
创建服务器映射
设置远程服务器的用户凭证
123456create user mapping for "<dbname>"server "<foreign_server_name>"options ( user '<db_user>', password '<password>');
3
导入表
从外部数据库导入表
示例:从模式导入所有表
123import foreign schema "<foreign_schema>"from server "<foreign_server>"into "<host_schema>";
示例:导入特定表
1234567import foreign schema "<foreign_schema>"limit to ( "<table_name1>", "<table_name2>")from server "<foreign_server>"into "<host_schema>";
4
查询外部表
1select * from "<foreign_table>"
配置执行选项
fetch_size
每次操作获取的最大行数。例如,当获取200行数据且fetch_size
设置为100时,需要发起2次请求。
12alter server "<foreign_server_name>"options (fetch_size '10000');
batch_size
每次循环插入的最大行数。例如,当插入200行数据且batch_size
设置为100时,需要发起2次请求。
12alter server "<foreign_server_name>"options (batch_size '1000');
extensions
列出共享扩展。若未包含某些扩展,涉及未列出扩展函数或运算符的查询可能会失败或忽略相关引用。
12alter server "<foreign_server_name>"options (extensions 'vector, postgis');
更多服务器选项,请查阅扩展的官方文档