所以基本上我有两个超级用户,postgres和eric,每个都有自己的数据库。我想要做的是,在连接到其中一个时,访问另一个数据库(表格更精确)。两个数据库的表都在公共模式中。
我正在使用此查询,我在论坛上的另一个问题上找到了,但没有任何结果:
SELECT table_name
FROM information_schema.tables
WHERE table_schema='public'
我已经更改了数据库的所有者,为这两个角色提供了所有权限,但没有。我得到的只是该用户下的数据库表,而不是两者。
知道我可能遗失的是什么吗?感谢。
P.S:我正在使用PostgreSQL 9.3,并在Python 2.7中编码
答案 0 :(得分:1)
超级用户可以随时访问整个群集中的所有内容。
这句话毫无意义:
两个数据库都在公共架构中。
群集 - >数据库 - >架构 - >表。 Start with the manual here.
连接到特定数据库时,您只能访问此特定数据库的表。您必须连接到另一个数据库才能使用那里的表
或者您可以使用dblink
或FDW
。
答案 1 :(得分:-1)
PostgreSQL在不同的数据库之间有一个防火墙。它们也可能位于完全独立的服务器上。您可以使用dblink或fdw或类似的东西来桥接它们。