在 SSL 中重新启动 postgres 时出现 PSQL 错误

在 SSL 中重新启动 postgres 时出现 PSQL 错误

我在 postgresql 中设置了 server.crt、root.crt 和 servery.key(使用http://howtoforge.com/postgresql-ssl-certificates有关说明),请设置 ssl = on 并成功重启服务。

但是,当我使用 psql 测试连接以查看它是否在 SSL 中运行时,我得到了以下信息

-bash-3.2$ psql -h localhost -U dbadmin
psql: could not open certificate file "/var/lib/pgsql/.postgresql/postgresql.crt": No such file or directory

我将证书存储在 pgsql/data/ 中,它们应该在那里,那么上面的例子和下面这个例子之间有什么脱节吗?

psql ssl 测试文档

答案1

这是寻找客户证书文件。正如您正确指出的那样,服务器证书文件属于pgsql/data/。客户端证书文件在 中查找$HOME/.postgresql/。您可能以用户身份登录postgres,而该用户恰好拥有 的主目录/var/lib/pgsql/,因此这就是您获得该路径的方式。

因此,请将客户端证书文件放在所需位置,或以正确的用户身份登录,或重新配置服务器以使其不需要客户端证书。

相关内容