Postgresql开启远程访问的步骤全纪录

前言

安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。下面话不多说了,来一起看看详细的介绍吧。

步骤如下:

要在Postgresql中允许远程访问,需要设置如下2个文件:

  • postgresql.conf
  • pg_hba.conf

然而由于系统安装的是Centos 7,而默认的Postgresql版本为9.2,于是安装了个9.6的版本,却发现在配置好远程无法访问。而默认的路径是找不到上述2个文件的,此时可以通过如下的方式查看其对应的文件的路径:

dog=# show config_file; 
    config_file     
------------------------------------------ 
 /etc/postgresql/9.4/main/postgresql.conf 
(1 row) 
dog=# show hba_file; 
    hba_file     
-------------------------------------- 
 /etc/postgresql/9.4/main/pg_hba.conf 
(1 row)

而其他的配置可以通过show all来查看。

首先我们配置pg_hba.conf,设置本地允许访问的IP地址范围:

... 
host all all 127.0.0.1/32  trust 
host all all 192.168.1.0/24 md5

在这里我们运行192.168.1.0到192.168.1.255的主机访问。

接着修改postgresql.conf文件:

listen_addresses='localhost'

将其中的localhost替换为*并去掉注释。

之后重启服务器,并通过如下方式查看其监听的IP:

dog@debian:~$ sudo netstat -plunt | grep postgres 
tcp  0  0 :5432   0.0.0.0:*    LISTEN  787/postgres  
tcp6  0  0 ::1:5432    :::*     LISTEN  787/postgres

在远程的情况下看到的都将是星号而不是127.0.0.1。

参考文章:https://www.postgresql.org/docs/9.3/static/sql-show.html

总结

相关推荐