PostgreSQL: le rôle n'est pas autorisé à se connecter

136

J'ai du mal à me connecter à ma propre base de données postgres sur un serveur local. J'ai recherché sur Google des problèmes similaires et j'ai trouvé ce manuel https://help.ubuntu.com/stable/serverguide/postgresql.html

alors:

pg_hba.conf dit:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 trust

puis je crée un utilisateur et lui attribue un mot de passe:

postgres=# create role asunotest;
CREATE ROLE
postgres=# alter role asunotest with encrypted password '1234';
ALTER ROLE

mais ça ne me laisse pas entrer:

-bash-4.2$ psql -h 127.0.0.1 -U asunotest
Password for user asunotest: 1234
psql: FATAL:  role "asunotest" is not permitted to log in

quel pourrait être le problème?

kurtgn
la source

Réponses:

289

Le rôle que vous avez créé n'est pas autorisé à se connecter. Vous devez lui donner l'autorisation de se connecter.

Pour ce faire, vous pouvez vous connecter en tant postgresqu'utilisateur et mettre à jour le rôle:

psql -U postgres

Une fois connecté, saisissez:

ALTER ROLE "asunotest" WITH LOGIN;

Voici la documentation http://www.postgresql.org/docs/9.0/static/sql-alterrole.html

chalitha geekiyanage
la source
2
Comme je ne peux pas psql, comment puis-je ALTER ROLE?
Romulus Urakagi Ts'ai
2
@ RomulusUrakagiTs'ai, vous devez entrer en tant qu'utilisateur postgres (sudo -u postgres psql postgres)
Mi Ka
9
CREATE ROLE blog WITH
  LOGIN
  SUPERUSER
  INHERIT
  CREATEDB
  CREATEROLE
  REPLICATION;

COMMENT ON ROLE blog IS 'Test';
Yuer_1008
la source
0

Utilisation de pgadmin4 :

  1. Sélectionnez les rôles dans le menu latéral
  2. Sélectionnez les propriétés dans le tableau de bord.
  3. Cliquez sur Modifier et sélectionnez les privilèges

Maintenant, vous pouvez activer ou désactiver la connexion, les rôles et d'autres options

Dilshad
la source
-5

essayez de courir

sudo su - postgres
psql
ALTER ROLE 'dbname'
مشعل العنزي
la source