Я хочу сделать резервную копию базы данных postgresql.
Я сделал это на моей существующей базе данных:
sudo -u postgres psql oder psql -U postgres
CREATE USER backup;
ALTER USER backup WITH PASSWORD 'new_password';
GRANT CONNECT ON DATABASE confluence TO backup;
GRANT CONNECT ON DATABASE taiga TO backup;
GRANT USAGE ON SCHEMA public TO backup;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO backup;
Если я бегу pg_dump -Fc confluence > dumpfile
, я получаю
pg_dump: [archiver (db)] query failed: ERROR: permission denied for relation EVENTS
pg_dump: [archiver (db)] query was: LOCK TABLE public."EVENTS" IN ACCESS SHARE MODE
В Отказано в разрешении для отношения Я прочитал, что это поможет:
GRANT ALL PRIVILEGES ON TABLE confluence TO backup;
Интересно, это ли верный способ предоставить все привилегии резервному пользователю, у которого нет прав на запись в базу данных? Я хочу, чтобы он был только для чтения.
Это бессмысленное требование?
Что вы предлагаете мне сделать вместо этого?