Предоставление разрешения в Postgresql пользователю никогда не дает разрешения - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь дать доступ к базе данных новому пользователю в 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 Ответ

1 голос
/ 23 марта 2020

Команда

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

дает доступ к базе данных с помощью { CREATE | CONNECT | TEMPORARY | TEMP }

. Вы увидите привилегии с мета-командой

\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 
...