数据库

postgres_fdw


该扩展使Postgres能够查询远程Postgres服务器上的表和视图。

启用扩展

  1. 进入仪表盘的数据库页面
  2. 在侧边栏点击扩展
  3. 搜索"postgres_fdw"并启用该扩展

创建到其他数据库的连接

1

创建外部服务器

定义远程数据库地址

1
2
3
4
5
6
7
create server "<foreign_server_name>" foreign data wrapper postgres_fdw options ( host '<host>', port '<port>', dbname '<dbname>' );
2

创建服务器映射

设置远程服务器的用户凭证

1
2
3
4
5
6
create user mapping for "<dbname>"server "<foreign_server_name>"options ( user '<db_user>', password '<password>');
3

导入表

从外部数据库导入表

示例:从模式导入所有表

1
2
3
import foreign schema "<foreign_schema>"from server "<foreign_server>"into "<host_schema>";

示例:导入特定表

1
2
3
4
5
6
7
import foreign schema "<foreign_schema>"limit to ( "<table_name1>", "<table_name2>")from server "<foreign_server>"into "<host_schema>";
4

查询外部表

1
select * from "<foreign_table>"

配置执行选项

fetch_size

每次操作获取的最大行数。例如,当获取200行数据且fetch_size设置为100时,需要发起2次请求。

1
2
alter server "<foreign_server_name>"options (fetch_size '10000');

batch_size

每次循环插入的最大行数。例如,当插入200行数据且batch_size设置为100时,需要发起2次请求。

1
2
alter server "<foreign_server_name>"options (batch_size '1000');

extensions

列出共享扩展。若未包含某些扩展,涉及未列出扩展函数或运算符的查询可能会失败或忽略相关引用。

1
2
alter server "<foreign_server_name>"options (extensions 'vector, postgis');

更多服务器选项,请查阅扩展的官方文档

相关资源