5

我有一个用例在许多服务器上的许多数据库中分布数据,所有这些都在 postgres 表中。从任何给定的服务器/数据库,我可能需要查询另一个服务器/数据库。查询是非常基本的标准选择,带有标准字段上的 where 子句。

我目前已经实现了 postgres_FDW,(我正在使用 postgres 9.5),但我认为查询没有使用远程数据库上的索引。对于这个用例(一个随机节点可能会查询 N 个其他节点),根据每个底层引擎的实际执行方式,这可能是我的最佳性能选择?

4

2 回答 2

9

Postgres 外部数据包装器 (postgres_FDW) 对 PostgreSQL 来说较新,因此它往往是推荐的方法。虽然 dblink 扩展中的功能类似于外部数据包装器中的功能,但 Postgres 外部数据包装器更符合 SQL 标准,并且可以提供比 dblink 连接更好的性能

阅读本文以获取更多详细信息:跨数据库查询

于 2018-01-16T19:23:18.427 回答
4

我的解决方案很简单:我升级到 Postgres 10,它似乎将 where 子句推送到远程服务器。

于 2018-02-01T14:30:20.290 回答