【问题标题】:Postgres user permission is not workingPostgres 用户权限不起作用
【发布时间】:2017-11-26 08:36:43
【问题描述】:

我创建了一个 Postgres 用户 user1,并将所有权限授予 my_db,当我尝试从数据库中选择一个表时,我收到权限被拒绝错误。

创建用户1

>>zya$ psql -d postgres
psql (9.6.3)
Type "help" for help.
postgres=# CREATE USER user1  WITH PASSWORD 'password1';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE my_db to user1;
GRANT
postgres=# \q

以用户1登录

>>zya$ psql -d my_db --username=user1
psql (9.6.3)
Type "help" for help.

    my_db=> SELECT DISTINCT  name FROM user_tbl order by id;
ERROR:  permission denied for relation user_tbl

【问题讨论】:

标签: postgresql


【解决方案1】:
ALTER DATABASE name OWNER TO new_owner;

您必须将数据库 my_db 所有者更改为您的用户名 user1

【讨论】:

    【解决方案2】:

    我知道这可能会迟到,但您可能想要做的是分配 这是来自我的试验,我能够解决类似的问题。看来您必须为表函数和序列设置类似的权限,如下所示

        GRANT ALL PRIVILEGES ON DATABASE yourdb TO yourusr;
        GRANT ALL ON ALL TABLES IN SCHEMA your_schema TO yourusr;
        GRANT ALL ON ALL SEQUENCES IN SCHEMA your_schema TO yourusr;
        GRANT ALL ON ALL FUNCTIONS IN SCHEMA your_schema TO yourusr;
    

    【讨论】:

      猜你喜欢
      • 2021-10-18
      • 2017-01-24
      • 2019-01-21
      • 2011-05-30
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      相关资源
      最近更新 更多