Подтвердить что ты не робот

Предоставить привилегии для будущих таблиц в PostgreSQL?

Я запускаю 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

Можно ли предоставить доступ к таблицам, которые будут созданы в будущем, без внесения пользователем пользователя таблицы?

4b9b3361

Ответ 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;