PostgreSQL: Die Rolle darf sich nicht anmelden

136

Ich habe Probleme beim Herstellen einer Verbindung zu meiner eigenen Postgres-Datenbank auf einem lokalen Server. Ich habe einige ähnliche Probleme gegoogelt und mir dieses Handbuch https://help.ubuntu.com/stable/serverguide/postgresql.html ausgedacht

so:

pg_hba.conf sagt:

# 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

dann erstelle ich einen Benutzer und weise ihm ein Passwort zu:

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

aber es lässt mich nicht rein:

-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

Was könnte das Problem sein?

kurtgn
quelle

Antworten:

288

Die von Ihnen erstellte Rolle darf sich nicht anmelden. Sie müssen der Rolle die Berechtigung zum Anmelden erteilen.

Eine Möglichkeit, dies zu tun, besteht darin, sich als postgresBenutzer anzumelden und die Rolle zu aktualisieren:

psql -U postgres

Sobald Sie angemeldet sind, geben Sie Folgendes ein:

ALTER ROLE "asunotest" WITH LOGIN;

Hier ist die Dokumentation http://www.postgresql.org/docs/9.0/static/sql-alterrole.html

Chalitha Geekiyanage
quelle
2
Wie psqlkann ich die Rolle ändern, da ich nicht kann?
Romulus Urakagi Ts'ai
2
@ RomulusUrakagiTs'ai sollten Sie als Postgres-Benutzer eingeben (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
quelle
0

Verwenden von pgadmin4 :

  1. Wählen Sie Rollen im Seitenmenü
  2. Wählen Sie Eigenschaften im Dashboard aus.
  3. Klicken Sie auf Bearbeiten und wählen Sie Berechtigungen aus

Jetzt können Sie dort Login, Rollen und andere Optionen aktivieren oder deaktivieren

Dilshad
quelle
-5

versuche zu rennen

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