Re: [pgsql-ru-general] Вопрос по доступу к таблице.
От | Dmitry Igrishin |
---|---|
Тема | Re: [pgsql-ru-general] Вопрос по доступу к таблице. |
Дата | |
Msg-id | CAAfz9KOB_3QrLi-57LMn8Tt9WtHTXM8QsLeQg2G5=v64V94dQA@mail.gmail.com обсуждение исходный текст |
Ответ на | Вопрос по доступу к таблице. ("vlads" <vlads@sibnet.ru>) |
Ответы |
Re: [pgsql-ru-general] Re: [pgsql-ru-general] Вопрос по доступу к таблице.
|
Список | pgsql-ru-general |
25 апреля 2016 г., 6:10 пользователь vlads <vlads@sibnet.ru> написал:
Здравствуйте
Возник вопрос при формировании БД
Есть таблица doc – документы и таблица doct – табличная часть
В таблице doc есть поле status – проведен документ или нет и на него налеплен триггер – status_upd()
Так вот, при формировании цикла в триггере:
FOR rdoct IN (SELECT * FROM doct dt WHERE dt.xdoc=NEW.x)
LOOP
…
Выдается ошибка:
ОШИБКА: нет доступа к отношению doct
Подскажите, пожалуйста, где копать и какой экскаватор для этого нужен.
Здравствуйте,
Просто привилегии?
dfigrish=> create table doct();
CREATE TABLE
Time: 35,473 ms
dfigrish=> select * from doct;
--
(0 rows)
Time: 0,683 ms
dfigrish=> \timing off
Timing is off.
dfigrish=> drop table doct;
DROP TABLE
dfigrish=> create table doct();
CREATE TABLE
dfigrish=> select * from doct;
--
(0 rows)
dfigrish=> \dp doct
Access privileges
Schema | Name | Type | Access privileges | Column privileges | Policies
--------+------+-------+-------------------+-------------------+----------
public | doct | table | | |
(1 row)
dfigrish=> revoke select on doct from dfigrish;
REVOKE
dfigrish=> select * from doct;
ERROR: permission denied for relation doct
dfigrish=> \dp doct
Access privileges
Schema | Name | Type | Access privileges | Column privileges | Policies
--------+------+-------+--------------------------+-------------------+----------
public | doct | table | dfigrish=awdDxt/dfigrish | |
(1 row)
dfigrish=> grant select on doct to dfigrish;
GRANT
dfigrish=> select * from doct;
--
(0 rows)
// Dmitry.
В списке pgsql-ru-general по дате отправления: