pg_hba.conf / postgresql.conf 설정에도 불구하고 사용자로부터 원격 연결을 거부하는 PostgreSQL 9.3 허용하는 올바른 방법은 /etc/postgresql/9.3/main/pg_hba.conf에 다음 줄을

우분투 14.04 LTS에서 PostgreSQL 9.3을 실행하고 있습니다. apt.에서 제공되는 재고 Postgres 배포판입니다. 다양한 포럼에서 데이터베이스에 대한 원격 psql 연결을 허용하는 올바른 방법은 /etc/postgresql/9.3/main/pg_hba.conf에 다음 줄을 추가하는 것임을 나타내는 많은 스레드가 발견되었습니다.

host    all             all       0.0.0.0/0             md5

그리고 이것을 /etc/postgresql/9.3/main/postgresql.conf에서 설정하십시오 :

listen_addresses = '*'

그런 다음 dbms를 다시 시작합니다 ( “sudo service postgresql restart”)

나는 이것을했고 다른 서버 에서이 DB에 연결하려고 할 때 여전히 다음과 같은 오류가 발생합니다.

psql -h <the db host> -p 5433 -d the_db the_user
$> Password for user the_user:
$> (I enter the pw)
$> psql: FATAL:  password authentication failed for user "the_user"
$> FATAL:  password authentication failed for user "the_user"

DB의 호스트 머신에서 다음을 실행하면 비밀번호가 확실하게 입력됩니다.

$>  psql -h localhost -d the_db the_user
$> Password for user the_user:
$> (I enter the exact same pw as above)
$> psql (9.3.5, server 9.1.13)
$> Type "help" for help.
$>
<the psql shell session begins>

구성이 정확하고 암호가 정확하고 호스트 컴퓨터가 원격 연결 (프롬프트)을 수락하고 그 시점에서 실패하는 것처럼 여기에서 잘못 가고있는 곳을 잃어 버렸습니다. 입증. 이 작업을 수행하는 방법에 대한 아이디어가 있으면 알려주십시오. 감사.



답변

첫 번째 세션에서는 포트 5433을 사용하고 두 번째 세션에서는 기본값 5432를 사용합니다. 둘 이상의 클러스터가 설치되어있을 수 있습니다 (아마도 다른 버전의 PostgreSQL 패키지와 함께 제공됨). 사용하지 않는 클러스터를 삭제 pg_dropcluster하고 올바른 클러스터 에 연결되어 있는지 확인하는 것이 좋습니다 .

(내가 가치있는 정보를 가진 데이터베이스가 있다면 물건을 떨어 뜨리기 전에 다시 확인해야 함)


답변