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.0192.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

若文章对您有帮助,请打赏1块钱。您的支持,可以让我分享更多精彩的文章。转载请注明来源


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。