远程访问postgresql数据库

我需要从运行12.10和postgresql 9.1的DigitalOcean上的VPS上的远程机器上访问postgresql数据库。

我该怎么做呢? 我注意到端口5432已关闭,我该如何打开它?

要打开端口5432,请编辑/etc/postgresql/9.1/main/postgresql.conf并更改

 listen_addresses='localhost' 

 listen_addresses='*' 

并重新启动您的DBMS

 invoke-rc.d postgresql restart 

现在你可以联系

 $ psql -h hostname -U username -d database 

如果您无法自己进行身份validation,则需要授予您的用户对数据库的访问权限

编辑你的

 /etc/postgresql/9.1/main/pg_hba.conf 

并添加

 host all all all md5 

(这是为了进行广泛的访问。要进行更严格的控制,请参阅pg_hba.conf文档并根据您的需要进行调整)。

此后您还需要重新加载

 invoke-rc.d postgresql reload 

我不需要提到这是一个基本配置,现在您应该考虑修改防火墙并提高DBMS的安全性。

如果有的话,这不再起作用了:

主持所有* md5

对此可能的正确行是:

主持所有0.0.0.0/0 md5#ipv4范围

主持所有:: 0/0 md5#ipv6范围

托管所有md5 #all ip

资源

对于消息“服务器没有收听”,发生在我身上的是,我没有删除存档postgresql.conf上的#我的意思是:

#的listen_addresses = ‘本地主机’

至:

的listen_addresses = ‘*’

(对不起我的英语不好)。