使用pgadmin远程访问postgresql

时间:2016-07-19 01:01:34

标签: postgresql pgadmin

在postgresql.conf中我有:

listen_addresses = "*"

我的pg_hba.conf看起来像:

local   all             postgres                                md5
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
#host   all             all             myIPADDRESS           md5

如果我取消注释最后一行

  1. pgadmin表示它无法访问并确保端口是否可访问。我刷新iptables没有规则,所以防火墙没有阻止它。
  2. 从我的脚本本地访问数据库无法正常工作
  3. 最后一行评论:

    1. pgadmin说我的IP地址没有pg_hba.con条目
    2. 我可以从我的脚本
    3. 在服务器上本地访问数据库

      我错过了什么使配置正确?

      感谢。

2 个答案:

答案 0 :(得分:0)

查看this帖子。添加到pg_hba.conf后:

host    all             all             ::/0                    trust
host    all             all             my.ipv4.IP/32       trust

现在有效。

答案 1 :(得分:0)

不确定订单在pg_hba.conf中是否重要但是,我把我放在最顶层,并尝试使用和不使用IP,两者都有效。

psql通过命令行连接和pgAdmin在RDS上与AWS连接时遇到同样的问题。我确实将我的RDS设置为Publicly Accessible。我确保我的ACL和安全组都是公开的,但仍然存在问题,所以我做了以下事情: sudo find . -name *.conf 然后sudo nano ./data/pg_hba.conf 然后添加到pg_hba.conf文件host all all 0.0.0.0/0 md5中的指令顶部 并且pgAdmin自动登录了我。

这也适用于pg_hba.conf文件 host all all md5没有任何IP地址,这也适用于我的IP地址host all all <myip>/32 md5

作为旁注,我的RDS在我的默认VPC中。我的非默认VPC中有一个相同的RDS实例,我的默认VPC具有相同的安全组,ACL和安全组设置,我无法使其工作。不知道为什么,但那是另一天。