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 章. 客户端认证

当客户端应用程序连接到数据库服务器时,它会指定要连接的 PostgreSQL 数据库用户名,这与登录 Unix 计算机时指定某个用户名非常相似。在 SQL 环境中,活动的数据库用户名决定了对数据库对象的访问权限 — 有关更多信息,请参见 第 21 章。因此,限制哪些数据库用户可以连接至关重要。

注意

第 21 章 中所述,PostgreSQL 实际上是通过 角色 来管理权限的。在本章中,我们始终使用 数据库用户 来表示 具有 LOGIN 权限的角色

认证 是数据库服务器建立客户端身份的过程,并由此确定客户端应用程序(或运行客户端应用程序的用户)是否被允许以请求的数据库用户名进行连接。

PostgreSQL 提供了多种不同的客户端认证方法。用于认证特定客户端连接的方法可以根据(客户端)主机地址、数据库和用户来选择。

PostgreSQL 数据库用户名在逻辑上与其运行服务器的操作系统上的用户名是分开的。如果某个服务器的所有用户在该服务器机器上也有账户,那么为数据库用户分配与其操作系统用户名匹配的用户名是有意义的。然而,接受远程连接的服务器可能有很多数据库用户在本地没有操作系统账户,在这种情况下,数据库用户名和操作系统用户名之间不必有任何联系。

提交更正

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