PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Rails :PG ::InsufficientPrivilege :ERREUR :autorisation refusée pour la relation schema_migrations

J'ai eu le même problème et j'ai résolu en ajoutant "Superuser" au rôle.

Tout d'abord, répertoriez les utilisateurs et leurs privilèges. Si vous avez suivi les commandes ci-dessus, l'utilisateur root n'a pas d'attributs "Superuser".

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 other     | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      |                                                            | {}

Ensuite, mettez à niveau root pour devenir un "superutilisateur".

postgres=# ALTER USER root WITH SUPERUSER;
ALTER ROLE

Encore une fois, répertoriez les utilisateurs et leurs privilèges. Maintenant, root a "Superuser".

postgres=# \du
                               List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 other     | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser                                                  | {}

J'espère que cela aide.