PostgreSQL跨2个数据库连接

PostgreSQL跨2个数据库连接,postgresql,select,join,subquery,Postgresql,Select,Join,Subquery,我是PostgreSQL的新手。我在PostgreSQL 9.0、db1和db2中有两个数据库,在db2中我有只读访问权限。我想创建一个存储函数,否则可以通过连接或嵌套查询轻松完成,这是PostgreSQL无法跨数据库完成的 在db1中,我有一个表1,我可以在其中查询一组外键,我可以使用这些外键在db2中搜索表2中的记录,类似于: SELECT * from db2.table2 WHERE db2.table2.primary_key IN ( SELECT db1.table1.fo

我是PostgreSQL的新手。我在PostgreSQL 9.0、db1和db2中有两个数据库,在db2中我有只读访问权限。我想创建一个存储函数,否则可以通过连接或嵌套查询轻松完成,这是PostgreSQL无法跨数据库完成的

在db1中,我有一个表1,我可以在其中查询一组外键,我可以使用这些外键在db2中搜索表2中的记录,类似于:

SELECT * from db2.table2 WHERE db2.table2.primary_key IN (
    SELECT db1.table1.foreign_key FROM db1.table1 WHERE
        db1.table1.primary_key="whatever");
在研究生中这样做的最佳实践是什么?我不能在db2中使用临时表,在db2中运行的存储函数中将外键作为参数传递似乎不是一个好的解决方案


注意:所有键都是VARCHAR11

您需要查看contrib

如果你熟悉C语言,还有一个可爱的功能叫做。它允许使用普通SQL操作几乎任何源代码:


安装dblink后,这似乎可以正常工作:从表2中选择*其中表2.primary\u key IN SELECT*FROM dblink'dbname=db1 user=readonly',从表1中选择外键,其中外键=?'作为temp1foreign\u key varchar11;您可能希望研究的一个选项是使用模式:
SELECT from_user, created_at, text FROM twitter WHERE q = '#postgresql';