Я пишу скрипт резервного копирования для базы данных PostgreSQL.Я хочу выполнить скрипт по заданию cron.Сначала я создал «резервную копию» системного пользователя. В psql я выполнил следующие операторы:
CREATE USER backup;
GRANT CONNECT ON DATABASE confluence TO backup;
GRANT USAGE ON SCHEMA public TO backup;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup;
Прежде всего, была ли какая-либо фатальная ошибка в вышеприведенных инструкциях или существует серьезная проблема безопасности?Правильно ли, что пользовательская резервная копия предназначена только для чтения?Это было то, что я прочитал в учебнике, но, честно говоря, я понятия не имею, что такое схемы SCHEMA / ...
При выполнении pg_dump в качестве резервного копирования пользователя я получаю следующее:
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
Поскольку я абсолютный новичок в базах данных, я хочу спросить вас, прежде чем добавлять все больше и больше заявлений, не зная, что я делаю ...
Я запускаю psql (PostgreSQL) 10.5 в Ubuntu 10.5-0ubuntu0.18.04