无法在Postgresql中编辑pg_hba.conf文件

无法在Postgresql中编辑pg_hba.conf文件,postgresql,psql,pg-hba.conf,Postgresql,Psql,Pg Hba.conf,我想创建原始pg_hba.conf文件(可能是pg_hba.conf.bk)的备份,然后在现有pg_hba.conf文件中添加一个条目。到目前为止,这是我一直试图做的事情,但每次它都说权限被拒绝,即使我通过root用户或使用sudo 我的尝试: $ pg_conftool -s 10 main show hba_file [OUT] /etc/postgresql/10/main/pg_hba.conf $ sudo cat /etc/postgresql/10/main/pg_hba.con

我想创建原始pg_hba.conf文件(可能是pg_hba.conf.bk)的备份,然后在现有pg_hba.conf文件中添加一个条目。到目前为止,这是我一直试图做的事情,但每次它都说权限被拒绝,即使我通过root用户或使用sudo

我的尝试:

$ pg_conftool -s 10 main show hba_file
[OUT] /etc/postgresql/10/main/pg_hba.conf

$ sudo cat /etc/postgresql/10/main/pg_hba.conf
    [OUT] local   all             postgres                              peer
          local   all             all                                   md5
          host    all             all             127.0.0.1/32          md5
          host    all             all             ::1/128               md5
现在,当我尝试添加一行到它,我得到了权限拒绝错误

$ sudo echo "host all all 0.0.0.0/0 trust" >> /etc/postgresql/10/main/pg_hba.conf
[OUT] bash: /etc/postgresql/10/main/pg_hba.conf: Permission denied

这将是部署脚本的一部分,因此,我无法手动进入pg_hba.conf。那么,如何在conf文件中创建条目呢

按照您编写命令的方式,重定向
>
将在
sudo
命令之外,因此它是在普通用户的权限下执行的。因此出现了错误消息

请尝试以下命令行:

sudo sh -c 'echo "host all all 0.0.0.0/0 trust" >> /etc/postgresql/10/main/pg_hba.conf'

你的意思是像这样
sudo'echo“主机所有0.0.0.0/0信任”>>/etc/postgresql/10/main/pg_hba.conf'
??因为这没用。你能举个例子吗。。