Итак, я создал пользователя исключительно для резервного копирования. Когда я выполнил команду dump, произошла ошибка ниже:
pg_dump: [archiver (db)] query failed: ERROR: permission denied for table {{tableName}}
pg_dump: [archiver (db)] query was: LOCK TABLE public.{{tableName}} IN ACCESS SHARE MODE
В настоящее время Владелец является postgres
пользователем для соответствующей таблицы.
I sh для использования эксклюзивного резервного пользователя, который имеет только доступ SELECT. Ниже приведены привилегии для роли, назначенной пользователю
CREATE ROLE {{roleName}};
\c {{databaseName}};
GRANT USAGE ON SCHEMA public TO {{roleName}};
GRANT SELECT ON ALL TABLES IN SCHEMA public TO {{roleName}};
GRANT SELECT ON ALL SEQUENCES IN SCHEMA mySchema TO {{roleName}};
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO {{roleName}};