在Postgresql中向用户授予权限从不授予权限

时间:2020-03-23 19:26:19

标签: postgresql ubuntu jira ubuntu-18.04 postgresql-10

我正在尝试让PostgreSQL 10.12中的新用户访问数据库。对于上下文,我使用的是Ubuntu 18.04。我使用以下代码创建了数据库:

CREATE DATABASE jiradb WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;

使用以下代码授予了用户访问权限:

GRANT ALL PRIVILEGES ON DATABASE

每当我输入“ \ z”时,我看到的就是这个:

Access privileges
 Schema | Name | Type | Access privileges | Column privileges | Policies
--------+------+------+-------------------+-------------------+----------
(0 rows)}

我想看到的是该用户“ jiradbuser”具有对数据库“ jiradb”的所有访问权限。我已经检查了PostgreSQL的网站,但没有任何帮助。如何给该用户适当的访问权限?

1 个答案:

答案 0 :(得分:1)

命令

GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
ON DATABASE database_name [, ...]
TO role_specification [, ...] [ WITH GRANT OPTION ]

使用{ CREATE | CONNECT | TEMPORARY | TEMP }

授予对数据库的访问权限

您将通过meta命令看到特权

\l

元命令

 \z

可以看到表视图,序列的特权,换句话说,是不同类型的对象(数据库和表视图,序列)

您将看到表视图,该命令赋予了命令特权

GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[, ...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
     | ALL TABLES IN SCHEMA schema_name [, ...] }
TO role_specification [, ...] [ WITH GRANT OPTION ]

您可以在这里使用

\z