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


136

У мене виникають проблеми з підключенням до мого власного 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

в чому може бути проблема?

Відповіді:


289

Роль, яку ви створили, не може входити в систему. Ви повинні дати дозволу ролі на вхід.

Один із способів зробити це - увійти як postgresкористувач та оновити роль:

psql -U postgres

Після входу введіть:

ALTER ROLE "asunotest" WITH LOGIN;

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


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';

0

Використання pgadmin4 :

  1. Виберіть ролі в бічному меню
  2. Виберіть властивості на інформаційній панелі.
  3. Клацніть Редагувати та виберіть привілеї

Тепер ви можете ввімкнути або вимкнути вхід, ролі та інші параметри


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.