如何在 POSTGRESQL 中从两个不同的数据库中检索数据

Posted

技术标签:

【中文标题】如何在 POSTGRESQL 中从两个不同的数据库中检索数据【英文标题】:How to retrieve data from two different database in POSTGRESQL 【发布时间】:2016-03-30 11:32:29 【问题描述】:

我有两个数据库 cvtl 和 cvtl_db,我需要编写一个查询来从 cvtl 中的表 A 和 cvtl_db 中的表 B 中检索数据。

Postgres 抛出错误:未实现跨数据库引用

【问题讨论】:

使用外部数据包装器:postgresql.org/docs/current/static/postgres-fdw.html 好的,谢谢,我会尝试使用它,但我可以用 DBLINK 代替 这是另一种选择。但 FDW 会更有效率 感谢您的帮助:) 【参考方案1】:

基本上你有两种方法:

    较旧的工具。 如果您需要支持旧版本的 PostgreSQL,请使用 dblink 或 DBI-link。这两个为跨多个 PostgreSQL 版本的跨数据库查询提供了强大的支持。 pl/proxy 是另一种可能性。

    较新的工具。 较新的方法是使用外部数据包装器。它具有更多功能(例如更好的事务处理),并且在支持方面可能比今天的 dblink 等有更多的关注。

【讨论】:

以上是关于如何在 POSTGRESQL 中从两个不同的数据库中检索数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中从 Npgsql 4.1.5.0 执行匿名块 PL/pgSQL (PostgreSQL 13)

如何在 postgresql 中使用不同的返回数据执行多个选择查询?

如何根据PostgreSQL中同一行的两个不同列更新具有唯一序列号的列?

在一个查询Access数据库中从具有不同字段的两个不同表中选择列

如何在 Node.js 中从不同的应用程序注入模块

在新的 Rails 项目中从 SQLite 更改为 PostgreSQL