国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 服务器 > 远程连接Linux上的PostgreSQL服务器

远程连接Linux上的PostgreSQL服务器

来源:程序员人生   发布时间:2013-12-31 05:57:34 阅读次数:3551次

众所周知,Postgres 8.1 分别发行了 Linux和Windows 两个版本,所以,介绍远程连接的主题时,也是分别介绍这两个系统上是如何实现的。

  其实,windows版比linux版的步骤少一些。

  一、实现远程连接Linux上的PostgreSQL服务器。

  主要分两个步骤:

  <1>要使Linux上的PostgreSQL打开 “unix的tcpip套接子”。

  编辑 $POSTGRES/data/postgresql.conf 文件,

  将tcpip_socket=off改成tcpip_socket=on即可。

  <2>设置远程访问认证机制。

  编辑 $POSTGRES/data/pg_hba.conf 文件,

  这个文件上面一大堆都是介绍如何使用这个文件使进行配置的,

  最下面才是真正让我们填写东西的地方。

  其中,有一行注释:

  # TYPE DATABASE USER CIDR-ADDRESS METHOD

  说明每一行有五个字段,

  分别是:连接类型、可使用的数据库名、使用者、DIDR地址、和验证方法等五项。

  下面,我只介绍一些针对每个字段常用的选项。

  字段一: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编码。

  下面举一个例子,来说明如何进行设置:

  # TYPE DATABASE USER CIDR-ADDRESS METHOD

  #允许IP为192.168.0.1的所有用户登陆到Postgres服务器的所有数据库,采用md5验证。

  host all all 192.168.0.1/32 md5

  #允许用户testuser在192.168.0.XX的网段任意机器登陆Postgres服务器,

  #只能使用数据库testdb,采用md5验证。

  host testdb testuser 192.168.0.1/24 md5

  二、实现远程连接Windows上的PostgreSQL服务器。

  前面都已经看懂后,这个配置就很简单了,除了上面介绍的步骤<1>不用修改后,

  只需要配置步骤<2>中介绍的东西即可。(因为winodws不会存在unix的tcpip套接子)。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生