configurationpg_hba.conf文件以允许从其他服务器访问数据库

我有一个服务器上的postgres数据库,我需要从另一台服务器访问它。

我需要编辑pg_hba.conf文件,但是现在知道编辑这个文件的步骤是什么。 服务器Centos

我需要在文件中添加以下行

host all all 10.0.2.12 255.255.255.255 trust 

我find它在var/lib/pgsql/data/

现在基本上我不知道什么是正确的步骤来做到这一点

首先获取给定pg_hba.conf的备份副本

 sudo tar cvf /var/tmp/mybackup_pg_hba_conf.tar /var/lib/pgsql/data/pg_hba.conf 

这样,如果你搞砸了,就可以准备好旧版本。 tar归档的一个很好的function是保留权限和目录。 所以当pg_hba.conf被打破的时候是无法识别的。 您可以:

 cd / sudo tar xvf /var/tmp/mybackup_pg_hba_conf.tar 

这将从您之前创build的存档中恢复备份pg_hba.conf。

至于线路的实际插入:

 sudo su -c 'echo "host all all 10.0.2.12 255.255.255.255 trust" >> /var/lib/pgsql/data/pg_hba.conf' 

(注意:命令编辑,谢谢bortzmeyer!)

应该这样做。 请注意,这只是将行附加到pg_hba.conf中。 如果你需要改变它,你必须使用一个实际的编辑器。 像vi一样。 它的学习曲线可能有点陡峭,但是在学习了至less基础知识之后,在大多数遇到的unix环境中都应该是相当安全的。

现在,我回到轨道上,你应该尝试重新启动你的postgresql数据库。 在Centos机器上,我相信这是通过以下方式完成的:

 sudo service postgresql restart 

或者你可以重新加载configuration,而无需重新启动:

 su - postgres pg_ctl reload 

现在你应该可以从10.0.2.12访问你的Centos-machines postrgresql数据库了

不要忘记编辑postgresql.conf并更改/添加行

listen_addresses = '*'

Postgresql默认侦听本地主机