[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 파일을 기본값으로 재설정 할 수 있습니다.
답변
처음 사용하고 비밀번호가 무엇인지에 대한 정보가없는 사람들은 다음 단계를 수행 할 수 있습니다 (우분투를 사용한다고 가정).
-
파일 열기 위해서는 pg_hba.conf 의를
/etc/postgresql/9.x/main
sudo vi pg_hba.conf
2. 아래 줄을 편집하십시오.
local all postgres peer
에
local all postgres trust
-
서버를 다시 시작하십시오
sudo service postgresql restart
답변
postgres 셸을 postgres 사용자로 로그인하려는 경우 다음 명령을 사용할 수 있습니다.
postgres 사용자로 전환
# su - postgres
psql에 로그인
# psql
희망이 도움이
답변
-W 매개 변수를 사용하지 말고 암호를 비워 두십시오. 때때로 사용자는 비밀번호없이 생성됩니다.
그래도 작동하지 않으면 비밀번호를 재설정하십시오. 여러 가지 방법이 있지만 여러 시스템에서 작동합니다.
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';