PostgreSQL: роль не разрешена для входа

136

У меня проблемы с подключением к моей собственной базе данных postgres на локальном сервере. Я погуглил некоторые подобные проблемы и придумал это руководство https://help.ubuntu.com/stable/serverguide/postgresql.html

так:

pg_hba.conf говорит:

# 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

затем я создаю пользователя и назначаю ему пароль:

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

но это не пускает меня

-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

В чем может быть проблема?

kurtgn
источник

Ответы:

289

Роль, которую вы создали, не может войти в систему. Вы должны дать разрешение роли для входа в систему.

Один из способов сделать это - войти в систему как postgresпользователь и обновить роль:

psql -U postgres

После входа в систему введите:

ALTER ROLE "asunotest" WITH LOGIN;

Вот документация http://www.postgresql.org/docs/9.0/static/sql-alterrole.html

chalitha geekiyanage
источник
2
Как я не могу psql, как я могу изменить роль?
Ромул Уракаги Цай
2
@ RomulusUrakagiTs'ai, вы должны войти как пользователь 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
источник
0

Использование pgadmin4 :

  1. Выберите роли в боковом меню
  2. Выберите свойства в панели управления.
  3. Нажмите Редактировать и выберите привилегии

Теперь там вы можете включить или отключить логин, роли и другие параметры

Dilshad
источник
-5

попробуй бежать

sudo su - postgres
psql
ALTER ROLE 'dbname'
مشعل العنزي
источник