Ubuntu(Postgres)上用户的身份认证失败

Ubuntu(Postgres)上用户的身份认证失败

我在 Ubuntu 上安装了 Postgres。

通过 pgAdmin 我可以将 Postgres 与我创建的用户连接起来,但是当我尝试使用相同用户名和密码的其他应用程序时,我得到:用户身份验证失败。

为什么我可以通过 pgAdmin 连接,但通过 python 客户端却收到上述错误消息?

谢谢!

答案1

ident通过检查哪个系统用户正在尝试连接,并以此为标准允许其连接。也可以将网络添加为标准。

以下是解决问题的几个指导要点:

  • 您是否 100% 确定启动连接的部分是在您想要验证的用户上下文中运行的?
  • python 客户端是否提供相同的用户名?
  • 它是否以不同的用户身份运行(例如通过 sudo)?
  • 您是否在同一台主机上运行 pgAdmin 和 python 客户端,所以我们可以排除其他差异因素?
  • python 客户端是否连接到与 pgAdmin 相同的地址(外部地址与本地主机地址)?

配置 Postgresql 使用基于 md5/sha1 的远程身份验证可能是可靠地解决此问题的最简单方法。如果其他用户知道密码,它将允许他们进行身份验证 - 但无论如何,您应该控制谁知道密码。

答案2

检查您是否对 phpPgAdmin 和其他方法使用了相同的“主机名”。

如果您使用 localhost 或 127.0.0.1 或公共/内部服务器 IP 作为连接主机名,则会有所不同。

相关内容