![如何在没有本地机器 root 访问权限的情况下访问 postgres 数据库?](https://linux22.com/image/497971/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B2%A1%E6%9C%89%E6%9C%AC%E5%9C%B0%E6%9C%BA%E5%99%A8%20root%20%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%AE%BF%E9%97%AE%20postgres%20%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%9F.png)
我没有主机上的 root 访问权限。(没有安装 php)
我有一个运行本地服务器和数据库的客户虚拟机。(我没有这台机器的登录权限)
我需要从主机访问客户机数据库。
答案1
如果已将 postgres 设置为绑定到服务器的 IP 地址(不是 localhost 或 127.0.0.1),那么您应该能够使用虚拟机的 IP 地址访问端口 5432 上的数据库。
答案2
为了进一步阐述 Brent 所说的内容,配置 Postgres 服务器以监听非本地连接在不同版本之间有很大差异。在我的 Debian 服务器 8.1 上,您可以这样做/etc/postgresql/8.1/main/postgresql.conf
- 有一行写着“listen_addresses = 'localhost'”,然后将其注释掉。我不记得这是否是唯一的事情。您可能还需要在该目录中的 pg_hba.conf 中配置连接。
在 8.x 之前,我认为您也在 pg_hba.conf 中配置了网络,并且它以前不在 /etc/postgresql/ 中,而是在 /var/lib/pgsql 或类似的东西中。