如何配置PostgreSQL允许被远程访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何配置PostgreSQL允许被远程访问相关的知识,希望对你有一定的参考价值。
参考技术A安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。
配置远 程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf。
pg_hba.conf:配置对数据库的访问权限,
postgresql.conf:配置PostgreSQL数据库服务器的相应的参数。
下面 介绍配置的步骤:
1.修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容):
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 trust
其中,第7条是新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。
其中,数字24是子网掩码,表示允许192.168.1.0--192.168.1.255的计算机访问!
2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。
定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。
将行开头都#去掉,将行内容修改为listen_addresses=’*'来允许数据库服务器监听来自任何主机的连接请求
Postgresql允许远程访问配置修改
1、解决不能连接远程postgresql:
postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下:
1.postgresql.conf
将该文件中的listen_addresses项值设定为“*”,在9.0 Windows版中,该项配置已经是“*”无需修改。
2.pg_hba.conf
在该配置文件的host all all 127.0.0.1/32 md5行下添加以下配置,或者直接将这一行修改为以下配置
host all all 0.0.0.0/0 md5
如果不希望允许所有IP远程访问,则可以将上述配置项中的0.0.0.0设定为特定的IP值。
2、修改完毕后重启:
/PostgreSQL/9.3/bin/pg_ctl stop
/PostgreSQL/9.3/bin/pg_ctl start
启动过程中如果报,pg_ctl: no database directory specified and environment variable PGDATA unset 则设置下环境变量
PGDATA=/PostgreSQL/9.3/data
export PGDATA
如果报CST LOG: could not create IPv6 socket: 协议不支持的地址族,忽略,不影响连接
以上是关于如何配置PostgreSQL允许被远程访问的主要内容,如果未能解决你的问题,请参考以下文章