Ssh

無法連接到伺服器上的 Postgresql

  • June 5, 2016

在 Digital Ocean 上,我可以連接到 Postgresql:

psql -d my_db -U my_name

它要求我輸入密碼,然後我成功進入。但是從我的本地電腦我無法:

psql -d my_db -U my_name -h x.x.x.x

什麼都沒有發生。這是我的 /etc/postgresql/9.4/main/pg_hba.conf

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             0.0.0.0/0                md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

檢查並確保 postregsql 正在偵聽您的介面 IP(不僅僅是 127.0.0.1)。

ss -ltn

如果沒有,修改listen_addresses為 * 或你想要的 IP。這些設置應該在postgresql.conf通常位於 postgresql 數據目錄中的文件中。

https://www.postgresql.org/docs/9.4/static/runtime-config-connection.html

引用自:https://serverfault.com/questions/782072