Предположим, у меня есть два пользователя в Postgres 9.6 с именами user1
и user2
. Я хочу сделать разрешения для user2
для любой новой таблицы, созданной user1
без дополнительных явных команд предоставления для созданной таблицы. Другими словами, я хочу, чтобы следующие команды работали корректно:
- Предоставление разрешений на
user2
( Я не знаю, что здесь должно быть! )
CREATE TABLE t1 (id int)
(под user1
)
INSERT INTO t1 VALUES (5)
(под user2
)
Пожалуйста, обратите внимание, я не должен делать никаких разрешений между шагами 2 и 3.
На шаге 3 у меня всегда ошибка:
permission denied for relation t1
Я пробовал:
GRANT ALL PRIVILEGES ON DATABASE test TO user2;
и
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO user2;
безуспешно.
Я тоже пробовал:
GRANT user1 TO user2
и это помогло. Но я не могу рассматривать это как решение, потому что user1
может иметь слишком высокие разрешения (например, это может быть postgres
), которыми я не хочу делиться с user2
.