2016-07-19 36 views
0

在postgresql.conf里,我有:访问远程的PostgreSQL与pgAdmin的

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. 从我的脚本数据库本地访问不工作

随着最后一行说:

  1. pgAdmin的说,对我的IP地址没有pg_hba.con进入
  2. 我能从我的脚本在服务器上本地访问数据库

我缺少什么使配置正确?

谢谢。

+0

你应该显示确切的文件和确切的错误。一切看起来基本正确,但实际配置中可能存在一个小错误。 –

+0

是你完整的'pg_hba.conf'吗?您不会从“pgadmin”配置中提供任何信息,这一点也很重要。端口定义是否匹配那里和'postgresql.conf'?当你说“从你的脚本进行本地访问”时,你是指在服务器上本地运行,还是在本地机器上运行? – Feneric

+1

'myIPADDRESS'应该像'123.456.789.123/32'(带面具)。 – klin

回答

0

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

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

它现在有效。

0

不知道命令是否在pg_hba.conf中很重要,但是,我把它放在顶部,并尝试使用和不使用IP,并且都工作。

通过命令行连接并且pgAdmin没有在RDS上与AWS连接,与psql有同样的问题。我确实将我的RDS设置为公开访问。我确信我的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和安全组设置,我无法使其工作。不知道为什么,但那是另一天。