Postgres: в схеме отказано в доступе, хотя гранты были предоставлены - PullRequest
0 голосов
/ 16 октября 2018

Я использую Postgres 10.4 и в настоящее время сбит с толку, так как не могу предоставить доступ к схеме другой роли.

Что я хочу сделать:

У меня одна рольс одной схемой и хотите получить доступ к схеме и ее таблицам из другой роли.Поэтому я сделал обычное (то, что работало с другими схемами):

grant usage on schema myschema to newuser;

grant select on all tables in schema myschema to newuser;

Оба эти оператора выполнялись как владелец схемы.При этом я не сталкивался ни с какими ошибками.

Когда я вхожу в систему как newuser и пытаюсь выбрать некоторые данные:

select * from myschema.table;

Я получаю ошибку:

SQL Error [42501]: ERROR: permission denied for schema myschema

Я вижу, что newuser имеет нужные привилегии в таблице "information_schema.role_table_grants"

Он также работал с другой ролью и другой схемой.Я невежественен.

1 Ответ

0 голосов
/ 16 октября 2018

Это определенно работает, как написано в моем вопросе, проблема была в том, что я не использовал владельца схемы.

Поэтому всегда проверяйте, предоставляете ли вы доступ к схеме из роли владельца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...