Postgres 9.5의 모든 권한을 가진 사용자의 피어 인증에 실패했습니다


14

지정된 데이터베이스에만 액세스 할 수있는 사용자를 만들고 싶습니다. 그러나 모든 권한이 있어야합니다. 우분투 14.04에서 Postgresql 9.5를 사용합니다. 먼저 새 사용자를 만듭니다.

$createuser --interactive joe
  Shall the new role be a superuser? (y/n) n
  Shall the new role be allowed to create databases? (y/n) n
  Shall the new role be allowed to create more new roles? (y/n) n

다음으로 소유자 joe를 사용하여 새 데이터베이스를 만듭니다.

 $sudo -u postgres psql 
 $CREATE DATABASE myDB OWNER joe;
 $GRANT ALL ON DATABASE myDB TO joe;

그 후, myDB 데이터베이스에 연결하기 위해 사용자 joe와 연결하려고합니다.

$psql myDB -U joe
psql: FATAL:  Peer authentication failed for user "joe" 

다음에 무엇을해야합니까?


4
이것은 주제가 아닙니다. Ubuntu에서 소프트웨어를 설정하는 것이 주제이기 때문에
Anwar

문제가 해결 되었습니까?
Anwar

답변:


16
  1. /etc/postgresql/9.5/main/pg_hba.conf루트 액세스로 열기

     sudo nano /etc/postgresql/9.5/main/pg_hba.conf
    
  2. 변경 peermd5이 라인이다.

    변경하기 전에

    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            peer
    # IPv6 local connections:
    host    all             all             ::1/128                 peer
    

    변경 후

    # "local" is for Unix domain socket connections only
    local   all             all                                     md5
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    
  3. Ctrl- 를 눌러 파일을 저장하십시오 O. Ctrl-로 나노 나가기X

  4. 다음을 사용하여 postgresql을 다시 시작하십시오.

    sudo service postgresql restart
    

1
감사합니다. 라인 로컬 피어를 md5로 변경해야했습니다. 그 후에 성공적으로 로그인 할 수 있습니다.
Qeychon

모든 버전 업데이트 : conf 파일 확인 :sudo -u postgres psql -c "SHOW config_file"
Peter Krauss

내 동료 대신에 정체성을 보여주고 있었다 host all all 127.0.0.1/32 ident.host all all ::1/128 ident
Joseph K.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.