PostgreSQL: роль не разрешена для входа в систему
У меня возникли проблемы с подключением к моему собственному postgres db на локальном сервере.
Я столкнулся с некоторыми аналогичными проблемами и придумал это руководство
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
что может быть проблемой?
Ответы
Ответ 1
Роль, которую вы создали, не может войти в систему. Вы должны дать разрешение роли для входа в систему.
Один из способов сделать это - войти в систему как пользователь postgres
и обновить роль:
psql -U postgres
После входа в систему введите:
ALTER ROLE "asunotest" WITH LOGIN;
Здесь документацияhttp://www.postgresql.org/docs/9.0/static/sql-alterrole.html
Ответ 2
CREATE ROLE blog WITH
LOGIN
SUPERUSER
INHERIT
CREATEDB
CREATEROLE
REPLICATION;
COMMENT ON ROLE blog IS 'Test';
Ответ 3
попробуйте запустить
sudo su - postgres
psql
ALTER ROLE 'dbname'