如何设置PostgreSQL允许被远程访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置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值。 参考技术A PostgreSQL 允许远程访问设置方法
安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。
配置远程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf配置文件。
pg_hba.conf:配置对数据库的访问权限;
postgresql.conf:配置PostgreSQL数据库服务器的相应的参数。
下面介绍具体配置的步骤:
一、修改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的计算机访问!
二、修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。
定位到#listen_addresses = ’localhost’。PostgreSQL安装完成后,默认只接受来自本机localhost的连接请求。
将行开头都#去掉,将行内容修改为listen_addresses = ’*'来允许数据库服务器监听来自任何主机的连接请求!
这样的话,PostgreSQL 就允许远程访问了~
mac默认安装postgresql, 如何让postgresql可以远程访问
mac默认安装postgresql, 如何让postgresql可以远程访问
mac默认的postgresql目录的存放路径是/usr/local/var/postgres/在该目录下,修改两个文件,一个是postgresql.conf, 一个是pg_hba.conf,最后是重启
修改postresql.conf
listen_addresses = ‘*‘ # 修改这里的配置允许任意地址的链接postgresql
修改pg_hba.conf
host all all 0.0.0.0/0 trust # 配置服务端允许认证的方式
重启postgresql
brew services restart postgresql
#启动服务也可以用 pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
#停止服务 pg_ctl -D /usr/local/var/postgres stop -s -m fast
#导入sql文件 psql -d database_name -f sql_file
#导出pg_dump database_name > sql_file
测试是否可以远程访问
psql -U username -h ip -p port dbname
以上是关于如何设置PostgreSQL允许被远程访问的主要内容,如果未能解决你的问题,请参考以下文章