数据库

postgres_fdw


此扩展允许 Postgres 查询远程 Postgres 服务器上的表和视图。

启用扩展#

  1. 转到仪表板中的 数据库 页面。
  2. 在侧边栏中单击 扩展
  3. 搜索 "postgres_fdw" 并启用该扩展。

创建到另一个数据库的连接#

1

创建外部服务器

定义远程数据库地址

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

创建服务器映射

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

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

导入表

从外部数据库导入表

示例:导入模式中的所有表

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

示例:导入特定表

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

查询外部表

1
select * from "<foreign_table>"

配置执行选项#

Fetch_size#

每次操作获取的最大行数。例如,如果将 fetch_size 设置为 100,则获取 200 行需要 2 个请求。

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

Batch_size#

每次循环插入的最大行数。例如,如果将 batch_size 设置为 100,则插入 200 行需要 2 个请求。

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

扩展#

列出共享扩展。如果没有它们,涉及未列出扩展函数或运算符的查询可能会失败或省略引用。

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

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

资源#