PostgreSQL还具有原生支持使用 GSSAPI 加密客户端/服务器通信以提高安全性。 支持要求在客户端和服务器系统上都安装 GSSAPI实现(例如 MIT Kerberos),并在编译时启用 PostgreSQL 中的支持(参见 第 17 章)。
PostgreSQL 服务器将侦听同一 TCP 端口上的普通连接和 GSSAPI-加密连接,并将与任何连接的客户端协商是否使用 GSSAPI 进行加密(和身份验证)。 默认情况下,此决策由客户端决定(这意味着攻击者可以降级);参见第 21.1 节 关于设置服务器对某些或所有连接要求使用 GSSAPI。
当使用GSSAPI加密时,一般也使用GSSAPI进行身份验证,因为底层机制将确定客户端和服务器身份(根据GSSAPI实现),在任何情况下。 但这不是必需的;可以选择另一种PostgreSQL认证方法执行额外的验证。
除了协商行为的配置外,GSSAPI加密不需要GSSAPI认证外的其他设置。 (关于配置的更多信息, 参见 第 21.6 节。)