在Linux主机上,当我运行psql --set=sslmode=verify-full -h (rest of connection command...)命令时,我成功地连接到postgres数据库。它还可以在psql会话开始时打印SSL连接密码的信息令我困惑的是,我无法理解所使用的证书是如何被指定的,因为我没有在psql命令中列出任何证书。https://www.postgresql.org/docs/9.2/libpq-connect.html表示默认为a~/.postgresql文件夹中的内容,但我目前没有这样的文件夹。我见过其他地方提到的对环境变量的引用,比如PGSSLROOTCERT,但是我没有这些集合。
如何确定正在使用哪个SSL证书?如果重要的话,这是为了连接到AWS RDS数据库。

最佳答案

psql--set=sslmode=verify full-h。。。
这将设置一个名为sslmode的“psql”变量。这个变量对任何事情都没有影响。所以你实际上不是在验证服务器的证书。
尝试以支持的方式设置sslmode,如:

PGSSLMODE=verify-full psql -h ...


psql sslmode=verify-full -h ...

(但如果使用最后一个选项,则不能在...中隐藏-d选项)

关于postgresql - Postgres:如何验证哪个证书用于SSL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59056258/

10-16 05:52