【问题标题】:PostgreSQL superuser does not access other databasesPostgreSQL 超级用户不访问其他数据库
【发布时间】:2014-06-21 17:27:58
【问题描述】:

所以基本上我有 2 个超级用户,postgres 和 eric,每个都有自己的数据库。我想要做的是,在连接到其中一个时,访问另一个的数据库(更准确地说是表)。两个数据库的表都在公共模式中。

我正在使用这个查询,这是我在论坛上的另一个问题上找到的,但没有任何结果:

SELECT table_name
FROM information_schema.tables
WHERE table_schema='public'

我更改了数据库的所有者,为这两个角色提供了所有权限,但没有。我得到的只是该用户下的数据库表,而不是两者。

知道我可能缺少什么吗?谢谢。

P.S:我使用的是 PostgreSQL 9.3,并在 Python 2.7 中编码

【问题讨论】:

    标签: database postgresql python-2.7 root


    【解决方案1】:

    超级用户始终可以访问整个集群中的所有内容。

    这句话毫无意义:

    两个数据库都在公共架构中。

    集群 -> 数据库 -> 模式 -> 表。 Start with the manual here.

    连接到特定数据库时,您只能访问该特定数据库的表。您必须连接到不同的数据库才能使用那里的表。
    或者您可以使用dblinkFDW

    【讨论】:

    • 我指的是数据库中的表,抱歉。我现在已经编辑过了。我知道他们应该访问整个集群......但它没有发生......我不知道为什么......
    • @user3475502:我又添加了一些。
    【解决方案2】:

    PostgreSQL 在不同数据库之间有防火墙。它们也可能位于完全独立的服务器上。您可以使用 dblink 或 fdw 或类似的东西在它们之间架起桥梁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 2012-12-31
      • 2018-03-16
      • 2022-06-16
      • 2015-08-27
      • 1970-01-01
      • 2012-10-02
      相关资源
      最近更新 更多