web-dev-qa-db-fra.com

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

Je ne parviens pas à me connecter à ma propre base de données postgres sur un serveur local. J'ai googlé des problèmes similaires et suis venu avec 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

alors 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?

96
kurtgn

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

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

psql -U postgres

Une fois connecté, tapez:

ALTER ROLE "asunotest" WITH LOGIN;

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

220
CREATE ROLE blog WITH
  LOGIN
  SUPERUSER
  INHERIT
  CREATEDB
  CREATEROLE
  REPLICATION;

COMMENT ON ROLE blog IS 'Test';
5
Yuer_1008