>  Q&A  >  본문

python - psycopg2连接远程数据库被拒绝

psycopg2.OperationalError: could not connect to server: Connection refused
    Is the server running on host "45.32.1XX.2XX" and accepting
    TCP/IP connections on port 5432?

远程数据库端口已经打开了:

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      11516/postgres                
tcp6       0      0 ::1:5432                :::*                    LISTEN      11516/postgres

网上查说要修改pg_hba.conf,但是我在postgresql根目录找不到这个文件,而且在我另一台我可以连接成功服务器上,也不存在这个文件。

求大神解答!感谢~

大家讲道理大家讲道理2765일 전544

모든 응답(3)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-18 09:45:52

    공식 문서를 읽어보는 것이 좋습니다:

    https://www.postgresql.org/do...

    일반적으로 postgresql의 기본 규칙은 매우 비정상적으로 설정되어 있어 localhost 연결만 허용합니다. 귀하의 경우 pg_hba.conf를 수정해야 합니다. 이 파일의 경로는 Linux 배포판과 설치에 따라 다릅니다. 인원의 선호도가 존재하지만, 분명 존재하는 것은 확실하므로 그 경로만 검색하면 됩니다

    locate pg_hba.conf
    또는
    find / -type f -iname "pg_hba.conf" 2>/dev/null

    찾은 후 보안 정책을 수정하세요. 기본적으로 간단한 설명이 있어서 이해하기 쉽습니다(로컬 IP 주소 허용)

    수정이 ​​완료된 후 postgresql 서비스를 다시 시작하면 괜찮습니다

    회신하다
    0
  • PHPz

    PHPz2017-04-18 09:45:52

    pg_hba.conf 파일 수정만으로는 충분하지 않으며, postgresql.conflisten_addresses 구성 항목

    도 수정해야 합니다.

    postgresql의 PGDATAshow data_directory;

    를 통해 확인하실 수 있습니다.

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-18 09:45:52

    mysql -uroot -p - P -h을 사용하여 원격으로 mysqld에 로그인할 수 있는지 확인해 보세요.
    참고 질문 Linux 터미널은 mysql 데이터베이스에 연결할 수 있지만 php 프로그램을 통해 mysql에 연결할 수 없습니다.

    회신하다
    0
  • 취소회신하다