pgAdmin III:拒绝访问数据库

时间:2014-03-12 22:01:19

标签: postgresql

我尝试从pgAdmin III连接到远程数据库。我创建了一个" 新服务器注册"。当我连接到数据库时,我得到"访问数据库被拒绝"

enter image description here

我设置正确。这些是我的PostgreSQL设置:

  • pg_hba.conf >

PostgreSQL客户端身份验证配置文件

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             postgres                                trust
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    all             all             192.168.0.0/16          md5
  • postgresql.conf >我允许所有输入连接listen_addresses = '*'

使用SSH我可以连接到数据库:

[fuiba@test]$ psql -h localhost -p 26888 -d postgres
psql (9.1.11)
Type "help" for help.

postgres=# \l
                             List of databases
     Name     |  Owner  | Encoding | Collate | Ctype |  Access privileges  
--------------+---------+----------+---------+-------+---------------------
 postgres     |  fuiba  | UTF8     | C       | C     | 
 template0    |  fuiba  | UTF8     | C       | C     | =c/fuiba         +
              |         |          |         |       | fuiba=CTc/fuiba
 template1    |  fuiba  | UTF8     | C       | C     | =c/fuiba         +
              |         |          |         |       | fuiba=CTc/fuiba
(3 rows)

我做错了什么?任何帮助将受到高度赞赏。谢谢!

ps:我在Windows 7上运行pgAdmin III,在Linux CentOS上运行PostgreSQL。

2 个答案:

答案 0 :(得分:6)

pgAdmin从另一台主机连接到PostgreSQL,而不是通过SSH登录到数据库服务器。您的pg_hba.conf中未提及错误消息中提到的IP地址(以93.39开头)。

将运行pgAdmin的主机的公共IP地址(以93.39开头的地址)添加到pg_hba.conf或通过SSH隧道连接。注意在修改pg_hba.conf后重新加载PostgreSQL的配置或重新启动PostgreSQL。

答案 1 :(得分:1)

我曾经为此努力过,它通过更改pg_hba.conf中条目的IP掩码起作用,但我不记得了,而且每个网络的配置都不同。关键是你很可能在其中一个条目中出错。 Here,他们甚至指出错误消息是对哪个条目is wrong的提示。如果它们确实是正确的,我会检查auth-method(例如,查看我的密码是否作为MD5哈希传递)。

我希望这可以帮助你=)