Ответ 1
Похоже, решение заключается в изменении привилегий по умолчанию для пользователя backup
:
alter default privileges in schema public grant all on tables to backup;
alter default privileges in schema public grant all on sequences to backup;
Я запускаю PostgreSQL 9.3.1. У меня есть база данных test
и backup
, которая используется для резервного копирования базы данных. У меня нет проблем с предоставлением привилегий для всех текущих таблиц, но я должен предоставлять привилегии каждый раз, когда новая таблица добавляется в схему.
createdb test
psql test
test=# create table foo();
CREATE TABLE
test=# grant all on all tables in schema public to backup;
GRANT
test=# create table bar();
CREATE TABLE
psql -U backup test
test=> select * from foo;
test=> select * from bar;
ERROR: permission denied for relation bar
Можно ли предоставить доступ к таблицам, которые будут созданы в будущем, без внесения пользователем пользователя таблицы?
Похоже, решение заключается в изменении привилегий по умолчанию для пользователя backup
:
alter default privileges in schema public grant all on tables to backup;
alter default privileges in schema public grant all on sequences to backup;