Есть ли способ наследовать таблицу, которая не принадлежит текущему пользователю - PullRequest
1 голос
/ 14 марта 2019

Я создаю двух пользователей в моей базе данных PostgreSQL.скажем migration и dev.

Я создаю таблицу A с пользователем migration.Затем я создаю таблицу B, которая наследует таблицу A как пользователя dev, но это не удается.

ERROR:  must be owner of relation A

Если я не хочу изменять владельца таблицы, есть ли другой способ сделатьэто работает?

1 Ответ

1 голос
/ 14 марта 2019

Одним из способов является использование роли, членами которой являются оба пользователя:

CREATE ROLE tab_owner NOLOGIN NOINHERIT;

GRANT tab_owner TO dev, migration;

Теперь, когда migration создает таблицу, она сначала запускается:

SET ROLE tab_owner;

Тогда таблица принадлежит роли.

Пользователь dev делает то же самое перед созданием дочернего объекта наследования таблицы.

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