我正在尝试让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的网站,但没有任何帮助。如何给该用户适当的访问权限?
答案 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