我在运行Ubuntu服务器14.04的服务器上安装了PostgreSQL 9.3.

如果我通过终端ssh进入服务器,我就能够连接到psql.但当我try 配置pgAdmin III进行远程连接时,我得到:

服务器不侦听服务器不接受连接:

当我在服务器service postgresql status上运行时,它会给我:

9.3/main (port 5432): online

所以我当然错过了一些重要的东西.

编辑

在服务器上运行netstat -na时,我得到(我猜是相关部分):

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     
tcp        0      0 172.24.3.147:22         172.24.3.240:61950      ESTABLISHED
tcp        0      0 172.24.3.147:22         172.24.3.240:60214      ESTABLISHED

推荐答案

你必须编辑postgresql.conf个文件,并用"监听地址"更改行.

这个文件可以在/etc/postgresql/9.3/main目录中找到.

默认的Ubuntu配置只允许使用localhost(或127.0.0.1)接口,当每个PostgreSQL客户机与PostgreSQL server在同一台计算机上工作时,该接口足以使用.如果要从其他计算机连接PostgreSQL server,必须以以下方式更改此配置行:

listen_addresses = '*'

然后你也要编辑pg_hba.conf个文件.在这个文件中,您已经设置了可以从哪些计算机连接到此服务器,以及可以使用何种身份验证方法.通常你需要类似的线路:

host    all         all         192.168.1.0/24        md5

请阅读此文件中的注释...

编辑:

在编辑postgresql之后.形态和pg_hba.您必须重新启动postgresql server.

EDIT2:高级配置文件.

Postgresql相关问答推荐

此PostgreSQL汇总分组不适用于窗口表达式

Postgres:这是对OVERLAPS谓词的等效重写吗?

PostgresQL:获取两个数组之间的对应数量

连接 Supbase Postgresql 数据库时,Stepzen Graphiql 资源管理器中的主机名解析错误

使用 JDBC 连接到 PostgreSql 的本地实例

如何从 .sql postgresql 备份恢复单个表?

如何在 Postgres 中的列上删除唯一约束?

PostgreSQL 如何比 SQLite 更快地执行写入?

使用 try/except 与 psycopg2 或with closing?

Mac psql/readline - 未加载库

Postgres 日期重叠约束

如何在 postgres 中使用 json_populate_recordset 解析 json

如何在带有 PostgreSQL 数据库的 Web 应用程序中拥有完整的离线功能?

防止 CHARACTER VARYING 字段中出现空字符串

在 Postgresql 中按窗口函数结果过滤

Postgres 数据库文件保存在 ubuntu 中的什么位置?

有没有办法确保 WHERE 子句在 DISTINCT 之后发生?

psql 将默认 statement_timeout 设置为 postgres 中的用户

Capistrano 与 PostgreSQL,错误:database is being accessed by other users

如何为 Postgresql 中的所有数据库创建具有只读权限的用户?