Jon*_*nas 22 postgresql ubuntu pgadmin
我正在尝试在 Ubuntu 机器上设置 PostgreSQL 数据库。我希望能够从远程机器使用 pgAdmin3 访问它。我该如何设置?
我已经使用以下方法在 Ubuntu 上安装了 PostgreSQL 数据库:
sudo apt-get install postgresql
Run Code Online (Sandbox Code Playgroud)
在我/etc/postgresql/9.1/main/pg_hba.conf有我这一行:
host all all all password
Run Code Online (Sandbox Code Playgroud)
所以它应该接受来自所有 IPv4 地址的连接,密码应该以明文形式发送(这是出于开发原因)。
如果我运行此命令以查看正在运行的服务:
sudo netstat -tulpn
Run Code Online (Sandbox Code Playgroud)
我可以看到这些行,这表明 PostgreSQL 正在接受默认端口上的连接:
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
3561/postgres
Run Code Online (Sandbox Code Playgroud)
当我尝试从同一本地网络上的远程计算机连接到此 PostgreSQL 服务器时,我收到此错误消息:
服务器不听
服务器不接受连接:连接库报告
无法连接到服务器:连接被拒绝 服务器是否在主机“10.0.1.7”上运行并接受端口 5432 上的 TCP/IP 连接?
我用作用postgres户名,没有密码。但我也试过用postgres作为密码。在本地服务器上,我可以使用以下方法登录:
sudo -u postgres psql postgres
Run Code Online (Sandbox Code Playgroud)
如何使用 pgAdmin3 从远程机器连接到在 Ubuntu 上运行的 PostgreSQL 数据库?
dbe*_*hur 25
您的 netstat 报告中的行显示数据库仅在 localhost:5432 (127.0.0.1) 上侦听传入的 tcp 连接。
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 3561/postgres
Run Code Online (Sandbox Code Playgroud)
因此,无论您在 pg_hba.conf 中指定了什么权限,它都只能接受本地 tcp 连接。pg_hba.conf 仅指定允许的连接,但未指定您的服务将侦听哪些接口。
服务器侦听的地址由postgresql.conf 中的listen_addresses GUC指定。如果您希望服务器侦听远程连接,您应该指定您希望它侦听或*侦听主机上所有可用接口的 IP。
要让您的 postgresql 服务器侦听主机上的所有接口,您应该在 postgresql.conf 中有以下行:
listen_addresses = '*'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53489 次 |
| 最近记录: |