[postgresql] PostgreSQL : 사용자 “postgres”의 비밀번호 인증에 실패했습니다

PostgreSQL 8.4, Postgres 클라이언트 및 Pgadmin 3을 설치했습니다. 콘솔 클라이언트 및 Pgadmin의 “postgres”사용자에 대한 인증이 실패했습니다. 이전에 작동했기 때문에 사용자를 “postgres”및 암호 “postgres”로 입력했습니다. 그러나 이제 인증에 실패했습니다. 나는이 문제없이 몇 번 전에 그것을했다. 어떻게해야합니까? 그리고 어떻게됩니까?

psql -U postgres -h localhost -W
Password for user postgres:
psql: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"



답변

올바르게 기억한다면 사용자 postgres에게는 기본적으로 Ubuntu에 DB 암호가 설정되어 있지 않습니다 . 즉, postgres OS 사용자 계정 을 사용해야 만 해당 계정에 로그인 할 수 있습니다.

root상자에 액세스 할 수 있다고 가정합니다 .

sudo -u postgres psql

database "postgres" does not exists오류로 실패하면 우분투 또는 데비안 서버에 있지 않은 것 같습니다 :-)이 경우 단순히 template1명령에 추가 하십시오.

sudo -u postgres psql template1

이러한 명령 중 하나라도 오류와 함께 실패 psql: FATAL: password authentication failed for user "postgres"하면 파일을 확인하십시오 /etc/postgresql/8.4/main/pg_hba.conf. 주석이 아닌 첫 번째 행과 같은 행이 있어야합니다.

local   all         postgres                          ident

PostgreSQL의 최신 버전의 경우 ident실제로있을 수 있습니다 peer. 괜찮습니다.

psql쉘 내부에서 DB 사용자 postgres 에게 비밀번호를 제공 할 수 있습니다 .

ALTER USER postgres PASSWORD 'newPassword';

또는 명령 psql을 사용하여 쉘을 그대로 둘 수 있습니다 .CtrlD\q

이제 pgAdmin에 DB 수퍼 유저에게 유효한 암호를 부여 할 수있을 것입니다. 🙂


답변

직원의 응답은 정확하지만 더 자동화하려면 다음을 수행하십시오.

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

끝난! User = postgres 및 password = postgres를 저장했습니다.

사용자 postgres ubuntu의 비밀번호가없는 경우 :

$ sudo passwd postgres


답변

이는 실망 스럽지만 위의 답변 대부분은 맞지만 pg_hba.conf 파일의 변경 사항이 적용되기 전에 데이터베이스 서비스다시 시작 해야한다는 언급은 없습니다 .

위에서 언급 한대로 변경하면

local all postgres ident

그런 다음 루트 로 다시 시작하십시오 (서비스 서비스 postgresql-9.2 restart와 같은 것). 이제 postgres 사용자로 db에 액세스 할 수 있어야합니다

$psql
psql (9.2.4)
Type "help" for help.

postgres=# 

이것이 새로운 postgres 사용자를위한 정보를 추가하기를 바랍니다.


답변

pg_hba.conf 파일을 편집하십시오. sudo emacs /etc/postgresql/9.3/main/pg_hba.conf

모든 인증 방법을로 변경하십시오 trust. “postgres”사용자의 Unix 비밀번호를 변경하십시오. 서버를 다시 시작하십시오. psql -h localhost -U postgres방금 설정 한 Unix 비밀번호로 로그인하여 사용하십시오. 작동하면 pg_hba.conf 파일을 기본값으로 재설정 할 수 있습니다.


답변

처음 사용하고 비밀번호가 무엇인지에 대한 정보가없는 사람들은 다음 단계를 수행 할 수 있습니다 (우분투를 사용한다고 가정).

  1. 파일 열기 위해서는 pg_hba.conf 의를/etc/postgresql/9.x/main

     sudo vi pg_hba.conf 

    2. 아래 줄을 편집하십시오.

     local   all             postgres                                peer

     local   all             postgres                                trust
  2. 서버를 다시 시작하십시오

      sudo service postgresql restart
  3. 마지막으로 그림과 같이 비밀번호없이 로그인 할 수 있습니다마지막으로 그림과 같이 비밀번호없이 로그인 할 수 있습니다

자세한 내용은 여기를 참조하십시오


답변

postgres 셸을 postgres 사용자로 로그인하려는 경우 다음 명령을 사용할 수 있습니다.

postgres 사용자로 전환

# su - postgres

psql에 로그인

# psql

희망이 도움이


답변

-W 매개 변수를 사용하지 말고 암호를 비워 두십시오. 때때로 사용자는 비밀번호없이 생성됩니다.

그래도 작동하지 않으면 비밀번호를 재설정하십시오. 여러 가지 방법이 있지만 여러 시스템에서 작동합니다.

$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';