是否可以使用 PostgreSQL 连接来自同一服务器中不同数据库的表?如果是这样,怎么做?
问问题
11630 次
2 回答
9
假设您db1
在 postgres 的数据库中。然后,
SELECT * FROM table1 tb1
LEFT JOIN (SELECT * FROM dblink('dbname=db2','SELECT id, code FROM table2')
AS tb2(id int, code text);)
USING (code)
将在所述列上加入 tb1 和 tb2 (来自不同数据库的其他表)。在这个例子中,我曾经dblink
这样做过。tb1
并tb2
代表你的桌子。将table1
and替换table2
为您的表名和db2
其他数据库名称。
于 2018-01-27T12:10:34.603 回答
7
您可以使用dblink
或foreign_table
通过postgresql_fdw
.
- 数据库链接
dblink 是一个支持从数据库会话中连接到其他 PostgreSQL 数据库的模块。
你可以在这里阅读文档。
- 外表
postgres_fdw 模块提供外部数据包装器 postgres_fdw,可用于访问存储在外部 PostgreSQL 服务器中的数据。该模块提供的功能与旧 dblink 模块的功能基本重叠。但是 postgres_fdw 为访问远程表提供了更透明和符合标准的语法,并且在许多情况下可以提供更好的性能。
你可以在这里阅读文档。
于 2018-01-27T11:24:49.077 回答