在我们的 Linux 服务器上,我们有 PostgreSQL DB
当我们输入 -
psql -l
我们得到
psql: FATAL: no pg_hba.conf entry for host "[local]", user "root", database "postgres", SSL off
为了解决这个问题,我们需要在 /var/lib/pgsql/data/pg_hba.conf 中设置什么?
答案1
要列出数据库,您可以以postgres
用户身份执行命令:
$ sudo su postgres -c 'psql -l'
如果您已经以 root 身份登录,则可以sudo
从上述命令中删除。用户postgres
被视为 PostgreSQL 数据库引擎的 root 用户。
您的帖子中显示的错误表明用户无权root
访问localhost
数据库postgres
。因此,您可以编辑pg_hba.conf
文件以包含所需的登录详细信息,如登录名、数据库名称和主机。该文件有详尽的文档。
对于您的情况,您可以将以下行添加到pg_hba.conf
文件:
local all root peer
保存更改后,您需要重新加载 postgresql 服务器。