PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So lösen Sie Berechtigungsprobleme beim Wiederherstellen der PostgreSQL-Datenbank

Um das Problem zu lösen, müssen Sie die richtigen Eigentumsberechtigungen zuweisen. Versuchen Sie Folgendes, das alle Probleme im Zusammenhang mit Berechtigungen für bestimmte Benutzer lösen sollte, aber wie in den Kommentaren angegeben, sollte dies nicht in der Produktion verwendet werden:

[email protected]:/var/log/postgresql# sudo -u postgres psql
psql (8.4.4)
Type "help" for help.

postgres=# \du
               List of roles
    Role name    | Attributes  | Member of
-----------------+-------------+-----------
 <user-name>    | Superuser   | {}
                 : Create DB
 postgres       | Superuser   | {}
                 : Create role
                 : Create DB

postgres=# alter role <user-name> superuser;
ALTER ROLE
postgres=#

Verbinden Sie sich also unter einem Superuser-Konto mit der Datenbank sudo -u postgres psql und führen Sie einen ALTER ROLE <user-name> Superuser; aus Erklärung.

Denken Sie daran Dies ist nicht die beste Lösung auf Hosting-Servern mit mehreren Standorten. Schauen Sie sich stattdessen die Zuweisung einzelner Rollen an:https://www.postgresql.org/docs/current/static/sql-set-role.html und https:// www.postgresql.org/docs/current/static/sql-alterrole.html.