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
根目录找不到这个文件,而且在我另一台我可以连接成功服务器上,也不存在这个文件。
求大神解答!感谢~
PHP中文网2017-04-18 09:45:52
公式ドキュメントを読むことをお勧めします:
https://www.postgresql.org/do...
一般に、postgresql のデフォルトのルールは非常に異常に設定されており、あなたの場合、pg_hba.conf を変更する必要があります。これは、さまざまな Linux ディストリビューションに依存します。インストール担当者の好みに応じて異なりますが、必ず存在する必要があるため、そのパスを検索するだけで済みます
locate pg_hba.conf
または find / -type f -iname "pg_hba.conf" 2>/dev/null
見つけたらセキュリティポリシーを修正します。基本的にはデフォルトでシンプルなコメントが付いているので分かりやすいです(ローカルIPアドレスを解放します)
変更が完了したら、postgresql サービスを再起動すれば問題ありません。
PHPz2017-04-18 09:45:52
pg_hba.conf
ファイルを変更するだけでは十分ではありません。postgresql.conf
の listen_addresses
構成項目
postgresql の PGDATAshow data_directory;
は
高洛峰2017-04-18 09:45:52
mysql -uroot -p - P -h
を使用して mysqld にリモートでログインできるかどうかを確認してください。参考質問 Linux ターミナルは mysql データベースに接続できますが、php プログラムを介して mysql に接続することはできません