PgAdmin如何远程连接postgreSQL Server
-
远程服务器上的postgreSQL Server,尤其是Linux上的服务器,如何用本地PC机上的pgAdmin远程连接呢?方法如下:
1) 让远程postgreSQL Server 侦听所有IP地址。默认设置下,postgreSQL Server只在本地IP地址,即127.0.0.1 上侦听,要远程连接,必须让postgreSQL Server 在公网IP上侦听。设置方法是,修改配置文件/etc/postgresql/8.4/main/postgresql.conf 中下述配置:
# listen_addresses = 'localhost' 改成 listen_addresses = '*' .即去掉注释,并让Server在服务器的所有IP上侦听,当然包括公网IP。
2) 打开远程访问认证机制。
配置文件 /etc/postgresql/8.4/main/pg_hba.conf 中增加认证行:
host all all your_IP/32 md5
这表示,允许远程连接,允许从your_IP上,以任何用户身份,连接本服务器上的所有数据库。
3) 重启数据库服务器
sudo /etc/init.d/postgresql-8.4 restart
4)附录1:Ubuntu上默认OE的安装目录说明
DB目录,配置文件:
etc/postgresql/8.4/main/postgresql.conf
/etc/postgresql/8.4/main/pg_hba.conf
启动命令:sudo /etc/init.d/postgresql-8.4 restart
Openerp Server安装目录:/usr/local/lib/python2.6/dist-packages/openerp-server
5) 附录2:pg_hba.conf 中配置行的含义说明
# TYPE DATABASE USER CIDR-ADDRESS METHOD
字段一:TYPE。
可以选择:local或host。
前者只能允许本地的用户登陆Postgres数据库;后者可以接受远程客户登陆。所以,我们应该使用“host”。
字段二:DATWABSE。
连接用户可以使用的数据库名字。可以是Postgres的一个具体的数据库名,也可以使用“all”来允许用户访问所有数据库。
字段三:USER。
可以指定某个具体的用户来连接Postgres数据库(还要结合后面的地址字段),也可以使用“all”来允许所有用户连接数据库。
字段四:DIDR-ADDRESS。
这可能会让您不知所措,不知道它为何物。其实,它就是IP地址与掩码的另一种表示方法而已。Postgres是通过这个字段来了解,允许那些IP或IP网段连接此服务器。
它的格式是: IP地址/掩码。
这个掩码和子网掩码是一个道理,只不过是用一个小于等于32的正数来表示,表示的正是子网掩码中高几位为1,
比如,255.255.255.0 就是“24”,说明高24位是1。
192.168.0.1/32 相当于 IP为192.168.0.1,子网掩码为255.255.255.255的网段,
很显然,这只表明192.168.0.1IP自己。
如果您对IP地址与子网掩码不太了解,请查看相关资料。
字段五:METHOD。
这是验证方法。可选的有:
reject:拒绝这个IP的用户访问;
md5:密码以md5作为hash编码;
password:密码作为明文传输(好恐怖!);
krb5:密码以krb5作为hash编码。