pgAdmin连接postgresql数据库



pgAdmin连接postgresql数据库

 

postgresql安装完毕后,为了pgadmin能够远程连接,需要配置如下:

1,修改数据库中文件 pg_hba.conf 文件,  客户端机器IP添加进去,示例如下:
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host       all             all            10.0.2.2/32            trust

2,修改postgresql.conf 配置 listen_addresses='*'

 需要重启postgresql服务,使修改生效。


这里要注意你的postgresql的数据库配置文件的路径,我的机器情况是,数据库目录在:/var/lib/postgresql/9.4/main而配置路径在:/etc/postgresql/9.4/main。(不知道什么情况放到了var/lib下)

 

我是在vbox虚拟机(ubuntu14.4)里安装了postgresql,就直接:sudo apt-get install postgresql-9.4

然后,在vbox里进行了端口映射。


在主机环境(win7)下安装了pgadmin4 v1.0版本,建立服务,连接失败。

Pgadmin4连接配置如图:

pgAdmin连接postgresql数据库_第1张图片

在修改了上述2个配置文件项目后,顺利成功连接。注意在上述配置method= trust时,是成功的。但在其他配置选项时,提供密码也连接失败。(初次不需要密码,但保存后下次再连接需要提供密码了)

 

对第一个配置项有2个疑惑地方:ipmethod.

我第一次配置ip*,希望所有外部机器都可以连接,但失败了,报告:

postgres@odoo:~$ 2017-01-05 11:11:02 CST[1287-1] postgres@postgres FATAL: nopg_hba.conf entry for host "10.0.2.2", user "postgres",database "postgres", SSL on

2017-01-05 11:11:02 CST [1288-1]postgres@postgres FATAL: no pg_hba.confentry for host "10.0.2.2", user "postgres", database"postgres", SSL off

 

从错误信息看,应该是ip配置错误,因此,按错误信息把ip修改为10.0.2.2后,method配置为md5,仍然报告如下错误:

2017-01-05 11:13:33 CST [1313-2]postgres@postgres DETAIL: User"postgres" has no password assigned.

       Connection matched pg_hba.conf line 93: "host   all            all            10.0.2.2/32           md5"

 

后面继续尝试了method配置为password,也依然失败。在修改为trust时,它成功了。

 

其中ip为什么是10.0.2.2,可能和vbox有关,待研究。至于为什么只有为trust,也未知。

 

你可能感兴趣的:(pgAdmin连接postgresql数据库)