PostgreSQL数据库远程连接功能的开启

来源:未知 责任编辑:责任编辑 发表时间:2013-11-18 20:57 点击:

PostgreSQL数据库远程连接功能的开启
 
需要修改连个配置文件,默认位于 安装目录的data子文件夹下。
 
1.postgresql.conf
修改成监听所有ip地址的连接请求,如下:
listen_addresses = '*'  www.2cto.com  
 
2.pg_hda.conf
在末尾的地方添加一行,如下:
host    all         all         0.0.0.0/0      md5
 
关于pg_hda.conf的配置参数的解释:
 
    当一个客户端应用与数据库服务器进行联接时,它声明它将以哪个 PostgreSQL 用户的名称进行联接, 就象我们登录一台 Unix 计算机一样。在 SQL 环境里, 活跃的数据库用户名决定数据库对象的各种访问权限。因此,实际上我们要限制的是用户可以联接的数据库。 
 
    认证 是数据库服务器建立客户端的标识, 然后通过一些手段判断是否允许此客户端应用(或者运行这个客户端应用的用户)与它所要求的用户名进行联接的过程。
 
    PostgreSQL 提供多种不同的客户端认证方式。认证某个特定客户端联接所使用的方法可以通过基于(客户端)的主机地址,数据库和用户的方式进行选择; 一些认证方法还允许你通过用户名进行限制。
 
    PostgreSQL 用户名在逻辑上是和服务器运行的操作系统用户名相互独立的。 如果某个服务器的所有用户在那台服务器机器上也有帐号, 那么给数据库用户赋与操作系统用户名是有意义的。不过, 一个接收远程访问的服务器很有可能有许多没有本地操作系统帐号的用户, 因而在这种情况下数据库用户和操作系统用户名之间不必有任何联系。
 
    pg_hba.conf 文件
    客户端认证是由一个配置文件控制的,通常其文件名是 pg_hba.conf, 存放在数据库集群的数据目录里。 (HBA 的意思是 host-based authentication:基于主机的认证。) 在initdb初始化数据目录的时候,它会安装一个缺省的文件。 不过我们也可以把认证配置文件放在其它地方;参阅 hba_file 配置参数。  www.2cto.com  
    文件 pg_hba.conf 的常用格式是一套记录, 每行一条。空白行行被忽略,井号( # )开头的注释也被忽略。 一条记录是由若干用空格和/或 tab 分隔的字段组成。 如果字段用引号包围,那么它可以包含空白。记录不能跨行存在。
    每条记录声明一种联接类型,一个客户端 IP 地址范围(如果和联接类型相关的话),一个数据库名,一个用户名字, 以及对匹配这些参数的联接使用的认证方法。 第一条匹配联接类型,客户端地址和联接企图请求的数据库名和用户名的记录将用于执行认证。 这个处理过程没有"跨越"或者"回头"的说法:如果选择了一条记录而且认证失败, 那么将不考虑后面的记录。如果没有匹配的记录,那么访问将被拒绝。
 
    每条记录可以下面七种格式之一
 
local      database  user  authentication-method  [authentication-option]
host       database  user  CIDR-address  authentication-method  [authentication-option]
hostssl    database  user  CIDR-address  authentication-method  [authentication-option]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Request.ServerVariables 参数大全
  • 执行全文索引时出现权限不足的解决方法
  • 导入excel文件处理流程节点的解决方案
  • 查看sql修改痕迹(SQL Change Tracking on Table)
  • App数据层设计及云存储使用指南
  • PostgreSQL启动过程中的那些事三:加载GUC参数
  • MongoDB安装为Windows服务方法与注意事项
  • Percolator与分布式事务思考(二)
  • 写给MongoDB开发者的50条建议Tip1
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1