首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用PostgreSQL执行跨数据库查询?

是否可以使用PostgreSQL执行跨数据库查询?
EN

Stack Overflow用户
提问于 2008-09-05 17:09:14
回答 4查看 261.5K关注 0票数 170

根据下面的错误消息(和this Google result),我猜答案是“否”,但是有没有办法使用PostgreSQL执行跨数据库查询呢?

代码语言:javascript
复制
databaseA=# select * from databaseB.public.someTableName;
ERROR:  cross-database references are not implemented:
 "databaseB.public.someTableName"

我正在处理一些跨两个数据库分区的数据,尽管数据实际上是在这两个数据库之间共享的(一个数据库中的userid列来自另一个数据库中的users表)。我不知道为什么这是两个独立的数据库,而不是模式,但请注意……

EN

回答 4

Stack Overflow用户

发布于 2008-09-05 17:17:56

在我对跨数据库查询得出与您相同的结论之前,我已经遇到过这种情况。我最终所做的是使用模式来划分表空间,这样我就可以保持表的分组,但仍然可以查询所有表。

票数 24
EN

Stack Overflow用户

发布于 2008-09-22 05:47:11

可以,您可以使用DBlink (仅限postgresql)和DBI-Link (允许外部跨数据库查询器)和TDS_LInk (允许在MS SQL server上运行查询)。

我以前使用过DB-Link和TDS-link,非常成功。

票数 5
EN

Stack Overflow用户

发布于 2008-09-12 15:56:32

如果性能很重要,并且大多数查询都是只读的,我建议将数据复制到另一个数据库。虽然这似乎是不必要的重复数据,但如果需要索引,它可能会有所帮助。

这可以使用简单的on insert触发器来完成,这些触发器反过来调用dblink来更新另一个副本。也有成熟的复制选项(如Slony),但这是离题的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档