2025年9月25日: PostgreSQL 18 发布!
支持的版本:当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本:devel
不受支持的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

20.3. 身份验证方法 #

PostgreSQL 提供多种用户身份验证方法。

  • 信任身份验证,它仅仅信任用户声明的身份。

  • 密码身份验证,它要求用户发送密码。

  • GSSAPI 身份验证,它依赖于兼容 GSSAPI 的安全库。通常这用于访问身份验证服务器,例如 Kerberos 或 Microsoft Active Directory 服务器。

  • SSPI 身份验证,它使用一种类似于 GSSAPI 的 Windows 特有协议。

  • Ident 身份验证,它依赖于客户端机器上的“身份验证协议”(RFC 1413)服务。(在本地 Unix 套接字连接上,这被视为 Peer 身份验证。)

  • Peer 身份验证,它依赖于操作系统设施来识别本地连接另一端的进程。此方法不支持远程连接。

  • LDAP 身份验证,它依赖于 LDAP 身份验证服务器。

  • RADIUS 身份验证,它依赖于 RADIUS 身份验证服务器。

  • 证书身份验证,它需要 SSL 连接,并通过检查用户发送的 SSL 证书来验证用户身份。

  • PAM 身份验证,它依赖于 PAM (Pluggable Authentication Modules) 库。

  • BSD 身份验证,它依赖于 BSD 身份验证框架(目前仅在 OpenBSD 上可用)。

  • OAuth 授权/身份验证,它依赖于外部 OAuth 2.0 身份提供商。

对于本地连接,通常推荐使用 Peer 身份验证,尽管在某些情况下信任身份验证也可能足够。对于远程连接,密码身份验证是最简单的选择。所有其他选项都需要某种形式的外部安全基础设施(通常是身份验证服务器或用于颁发 SSL 证书的证书颁发机构),或者特定于平台。

以下各节将详细描述每种身份验证方法。

提交更正

如果您在文档中发现任何不正确之处、与您对特定功能的体验不符之处或需要进一步说明之处,请使用此表单报告文档问题。