首页 > 编程语言 > PostgreSQL 允许远程访问设置的操作
2021
01-03

PostgreSQL 允许远程访问设置的操作

postgres远程连接方式配置

配置pg_hba.conf文件 目录C:\Program Files\PostgreSQL\9.5\data

(QXY)主机
[postgres@qxy data]$ pwd
/spark/pgsql/data
[postgres@qxy data]$ cat pg_hba.conf
# TYPE DATABASE USER 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
# IPv6 local connections:
host all all ::1/128 trust

在# IPv4 local connections:

下面添加一行,内容为 “host all all 192.168.40.1/24 md5”,代表192.168.40网段的IP地址的所有用户都可以连接,/24代表网段,如果是/32 需要写完整的IP地址

添加之后的内容如下:

# “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.40.1/24 md5

2. 修改postgres监听的IP地址,默认是localhost ---------- 有时候默认就是OK的,可以看看用不用修改

(QXY)主机
postgres@qxy data]$ cat postgresql.conf
# - Connection Settings -
#listen_addresses = ‘localhost'
# what IP address(es) to listen on;
listen_addresses = ‘*'
# what IP address(es) to listen on; <=======新增这行,把localhost改成*,监听所有的IP
# comma-separated list of addresses;
# defaults to ‘localhost'; use ‘*' for all
# (change requires restart)

3.重新启动postgres 服务

在service服务list中重启: postgresql-x64-9.5

4. 大功告成,远程测试下连接postgresDB吧

补充:PostgreSql允许postgres用户在一个特定的IP进行远程登录,并具有所有库任何操作权限

1.pgsql允许远程访问:

安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。

a.如果是windows安装的postgresql,配置远 程连接PostgreSQL数据库的步骤很简单,只需要修改安装目录data文件夹下的pg_hba.conf和postgresql.conf。

b.如果是linux上安装的postgresql,同样是修改是这两个文件:

文件位置:

cd /etc/postgresql/9.3/main/

2.修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容):

# Database administrative login by Unix domain socket
local  all       postgres                peer
# TYPE DATABASE    USER      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       222.73.203.68/24        trust
# IPv6 local connections:
host  all       all       ::1/128         trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local  replication   postgres                peer
#host  replication   postgres    127.0.0.1/32      md5
#host  replication   postgres    ::1/128         md5

其中,第10条是新添加的内容,表示允许网段 222.73.203.68上的这个特定主机使用所有合法的数据库用户名访问数据库。

如果允许所有主机访问,不需要特别严格的权限控制时,可以直接将第10行,IPv4中换成:

host all all 0.0.0.0/0 trust 即可

3.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求:

定位到#listen_addresses='localhost'。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。

将行开头都#去掉,将行内容修改为listen_addresses='*'来允许数据库服务器监听来自任何主机的连接请求

4.查看postgresql默认端口号:(一般默认端口号是:5432)

5.查看防火强状态:

如果防火墙active是开启状态,允许5432端口入站:

查看防火墙状态,查看5432端口是否增加成功:

6.回到 222.73.203.68这台机器上的客户端就可以对所要远程机器上的数据库进行远程访问了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。

编程技巧