J'essaye de vider ma pg db mais j'ai ces erreurs s'il vous plaît suggérer
pg_dump: [archiver (db)] query failed: ERROR: permission denied for relation abouts
pg_dump: [archiver (db)] query was: LOCK TABLE public.abouts IN ACCESS SHARE MODE
Il peut s'agir d'une erreur courante lors de l'utilisation d'un ROLE
(utilisateur) qui n'a pas pu ouvrir les objets pour les vider.
Comme indiqué précédemment, vous pouvez accorder au schéma spécifique que vous souhaitez vider, ou même utiliser un attribut ROLE
avec SUPERUSER
.
Notez que lorsque vous traitez avec certains fournisseurs de bases de données cloud, comme AWS/RDS, vous ne recevrez pas d'utilisateur avec l'attribut SUPERUSER
, vous devrez donc vous assurer que celui utilisé pour le vidage aura tout accès nécessaire.
https://www.postgresql.org/docs/current/static/sql-grant.html montrera comment donner GRANT
à de nombreux objets de votre base de données, mais rappelez-vous également que lorsque la restauration, vous devrez d'abord créer la base de données. Uniquement si vous utilisez pg_dumpall
ce n'est pas nécessaire, mais vous devez également vider le ROLES
.
L'utilisateur auquel vous effectuez votre pg_dump
as n'a pas d'autorisations sur le schéma public.
Ajouter des autorisations si autorisé:
GRANT USAGE ON SCHEMA public TO <user>;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO <user>;