リモートで接続する前に、PostgreSQLサーバーで2つの設定を行う必要があります。これは、Linuxでこれを構成する方法の説明です。
1. postgresql.confを見つけて構成し、TCPサービスがローカルホストだけでなく任意のホストからの接続を受け入れることができるようにします。
検索/-name"postgresql.conf"
私のLinuxOSでは、ファイルは/etc/postgresql/9.6/main/にあるので、そこで変更します。次のように「listen_addresses='*'」という行を追加します。
/etc/postgresql/9.6/main/postgresql.conf
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# insert the following line
listen_addresses = '*'
2. pg_hba.confを見つけて構成し、任意のホストからクライアントに接続できるようにします
sudo find / -name "pg_hba.conf"
私のLinuxOSでは、ファイルは/etc/postgresql/9.6/main/にあるので、そこで変更します。次のように「hostallall0.0.0.0 /0」という行を追加します。
sudo nano /etc/postgresql/9.6/main/pg_hba.conf
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records. In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.
#
# insert the following line
host all all 0.0.0.0/0 trust
3.サーバーを停止して起動します
sudo service postgresql stop
sudo service postgresql start
4.クライアントに接続します。これで動作するはずです。
幸運を!