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롤을 변경하려면 어떻게해야합니까?
Romulus Urakagi Ts'ai

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. 편집을 클릭하고 권한을 선택하십시오

이제 로그인, 역할 및 기타 옵션을 활성화 또는 비활성화 할 수 있습니다


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.