当Postgres中的权限看起来相同时,为什么用户不能看到其中一个表

时间:2016-05-19 14:47:26

标签: sql postgresql

我正在尝试解决客户端无法看到一个表中有数据但另一个表中有数据的客户端问题。问题来自于我似乎无法发现任何差异。

下面我展示了一些信息abhb_ahs_custom是一张无法查看的表,但abha_ahs_custom没有被查看的问题

    task=# \dt abhb_ahs_custom
            List of relations
 Schema |      Name       | Type  | Owner
--------+-----------------+-------+-------
 public | abhb_ahs_custom | table | atoms
(1 row)

task=# \dt abha_ahs_custom
            List of relations
 Schema |      Name       | Type  | Owner
--------+-----------------+-------+-------
 public | abha_ahs_custom | table | atoms
(1 row)

然后

task=# \z abhb_ahs_custom
                                      Access privileges
 Schema |      Name       | Type  |       Access privileges        | Column access privileges
--------+-----------------+-------+--------------------------------+--------------------------
 public | abhb_ahs_custom | table | noble_restricted=arwdDxt/atoms+|
        |                 |       | atoms=arwdDxt/atoms            |
(1 row)

task=# \z abha_ahs_custom
                                      Access privileges
 Schema |      Name       | Type  |       Access privileges        | Column access privileges
--------+-----------------+-------+--------------------------------+--------------------------
 public | abha_ahs_custom | table | atoms=arwdDxt/atoms           +|
        |                 |       | noble_restricted=arwdDxt/atoms |

还有什么我应该在这里找一些能找到差异的东西,这可能会让我发现为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

我仍然不确定区别是什么以及为什么没有发生。但是,我已经解决了这个问题。我在表上运行了一个pg_dump,然后运行了从pg_dump生成的文件。看来我的雇主修改了pg_dump以包含我们使用的权限。当我这样做时,我能够用正确的用户看到该表。