원격 postgresql 데이터베이스에 연결할 수 없습니다


16

원격 psql 데이터베이스에 연결하려고합니다. 클라이언트의 IP 주소로 pg_hba.conf 항목을 추가하기 전에 오류 메시지가 나타납니다.

xdev@xdevbox:~$ psql -U postgres testdb -h 10.1.1.47
psql: FATAL:  no pg_hba.conf entry for host "10.201.50.71", user "postgres", database "testdb", SSL off

신뢰 설정으로 클라이언트의 IP를 추가했습니다. 또한 서버의 postgres.conf에서 청취 주소를 "*"로 청취하도록 변경했습니다. 그런 다음 /etc/init.d/postgresql restart 명령을 사용하여 데이터베이스 서버를 다시 시작했습니다.

이제 연결하려고하면 다음 오류 메시지가 나타납니다.

psql: could not connect to server: Connection refused
    Is the server running on host "10.1.1.47" and accepting
    TCP/IP connections on port 5432?

postgresql.conf에서 포트가 5432로 설정되어 있습니다.

감사


그 주소를 핑할 수 있습니까?
dezso

1
DB를 다시 시작할 때 DB가 올바르게 다시 시작되지 않았다고 말하고 싶습니다. 그 이유는 아마도 오타 일 경우 PostgreSQL 로그 파일을 확인하십시오 pg_hba.conf.
Craig Ringer

청취 주소를 *에서 특정 IP 주소로 변경해야했습니다.
dot

답변:


22

다음 두 파일을 구성해야합니다

pg_hba.conf

host all all 0.0.0.0/0 md5

postgresql.conf

listen_addresses='*'

포트 5432가 열려 있는지 확인해야합니다. http://www.yougetsignal.com/tools/open-ports/

그렇지 않은 경우 규칙을 다음에 추가하십시오 iptables.

iptables -A INPUT -s 0/0 -p tcp --dport 5432 -j ACCEPT

0/0 : 다른 사람이 액세스하려면. 특정 IP 주소 또는 IP 주소 범위로 변경할 수 있습니다.


1
단지 추가. 외부 도구를 사용할 필요가 없습니다. 그냥 사용 telnet [yourServerIp] 5432하면되지 당신이 사용할 수있는 설치 텔넷이있는 경우 PowerShell, 예를 들어 창에.
Ionic

@Ionic that 's true
Danish Khakwani

2
나를 편집증이라고 부르지 만 인터넷에서 너무 많은 서비스를 신뢰하지는 않습니다. ;-) 단지 알고 있어야합니다. :-)
Ionic

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