PostgreSQL: rola nie może się zalogować

136

Mam problem z połączeniem się z własną bazą danych postgres na serwerze lokalnym. Wygooglowałem kilka podobnych problemów i wymyśliłem tę instrukcję https://help.ubuntu.com/stable/serverguide/postgresql.html

więc:

pg_hba.conf mówi:

# 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

następnie tworzę użytkownika i przypisuję mu hasło:

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

ale nie wpuszcza mnie:

-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

co może być problemem?

kurtgn
źródło

Odpowiedzi:

289

Utworzona rola nie może się zalogować. Musisz przyznać roli uprawnienia do logowania.

Jednym ze sposobów jest zalogowanie się jako postgresużytkownik i zaktualizowanie roli:

psql -U postgres

Po zalogowaniu wpisz:

ALTER ROLE "asunotest" WITH LOGIN;

Oto dokumentacja http://www.postgresql.org/docs/9.0/static/sql-alterrole.html

chalitha geekiyanage
źródło
2
Ponieważ nie mogę psql, jak mogę ZMIENIĆ ROLĘ?
Romulus Urakagi Ts'ai
2
@ RomulusUrakagiTs'ai powinieneś wpisać jako użytkownik 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
źródło
0

Korzystanie z pgadmin4 :

  1. Wybierz role w bocznym menu
  2. Wybierz właściwości w panelu.
  3. Kliknij Edytuj i wybierz uprawnienia

Teraz możesz włączyć lub wyłączyć logowanie, role i inne opcje

Dilshad
źródło
-5

spróbuj biec

sudo su - postgres
psql
ALTER ROLE 'dbname'
مشعل العنزي
źródło