↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 预定义角色

PostgreSQL 预定义角色

预定义角色把监控、文件访问、数据读写和维护等权限组合成可授予的角色。这里逐版本说明各角色允许执行的操作、权限边界及相关接口。

当前查看 PostgreSQL 18。

共 16 个条目,PostgreSQL 18 收录 16 个。

名称与用途分类版本记录
pg_create_subscription创建订阅

pg_create_subscription 允许在数据库上具有 CREATE 权限的用户执行 CREATE SUBSCRIPTION。

数据库管理
pg_database_owner当前数据库拥有者

pg_database_owner 始终恰好有一个隐式成员:当前数据库的拥有者。它不能被授予任何角色中的成员资格,也不能有任何角色被授予 pg_database_owner 中的成员资格。不过,和其他角色一样,它可以拥有对象并获得访问权限授权。因此,一旦 pg_database_owner 在某个模板数据库中拥有权限,由该模板实例化的每个数据库的拥有者都将拥有这些权限。最初,这个角色拥有 public 模式,因此每个数据库拥有者都管理该模式在本数据库中的使用。

数据库管理
pg_checkpoint执行检查点

pg_checkpoint 允许执行 CHECKPOINT 命令。

数据库维护
pg_maintain关系维护

pg_maintain 允许在所有关系上执行 VACUUM、ANALYZE、CLUSTER、REPACK、REFRESH MATERIALIZED VIEW、REINDEX 以及 LOCK TABLE,其效果就像对这些对象拥有 MAINTAIN 权限一样。

数据库维护
pg_read_all_data读取全部数据

pg_read_all_data 允许读取所有数据(表、视图、序列、大对象),其效果就像对这些对象拥有 SELECT 权限并对所有模式拥有 USAGE 权限一样。该角色不会绕过行级安全(RLS)策略。如果正在使用 RLS,管理员可能希望对被授予此角色的角色设置 BYPASSRLS。

数据访问
pg_write_all_data写入全部数据

pg_write_all_data 允许写入所有数据(表、视图、序列、大对象),其效果就像对这些对象拥有 INSERT、UPDATE 和 DELETE 权限并对所有模式拥有 USAGE 权限一样。该角色不会绕过行级安全(RLS)策略。如果正在使用 RLS,管理员可能希望对被授予此角色的角色设置 BYPASSRLS。

数据访问
pg_execute_server_program执行服务器程序

这些角色旨在让管理员能够使受信任但非超级用户的角色能够以数据库运行所用操作系统用户的身份访问文件并在数据库服务器上运行程序。它们在直接访问文件时会绕过所有数据库级权限检查,并且可被用来获得超级用户级别的访问能力。因此,向用户授予这些角色时必须极其谨慎。

服务器文件与程序
pg_read_server_files读取服务器文件

这些角色旨在让管理员能够使受信任但非超级用户的角色能够以数据库运行所用操作系统用户的身份访问文件并在数据库服务器上运行程序。它们在直接访问文件时会绕过所有数据库级权限检查,并且可被用来获得超级用户级别的访问能力。因此,向用户授予这些角色时必须极其谨慎。

服务器文件与程序
pg_write_server_files写入服务器文件

这些角色旨在让管理员能够使受信任但非超级用户的角色能够以数据库运行所用操作系统用户的身份访问文件并在数据库服务器上运行程序。它们在直接访问文件时会绕过所有数据库级权限检查,并且可被用来获得超级用户级别的访问能力。因此,向用户授予这些角色时必须极其谨慎。

服务器文件与程序
pg_monitor数据库监控

这些角色旨在让管理员能够方便地为监控数据库服务器配置一个角色。它们授予一组常见权限,使该角色能够读取各种有用的配置设置、统计信息以及其他通常仅限超级用户查看的系统信息。

监控与统计
pg_read_all_settings读取全部配置

这些角色旨在让管理员能够方便地为监控数据库服务器配置一个角色。它们授予一组常见权限,使该角色能够读取各种有用的配置设置、统计信息以及其他通常仅限超级用户查看的系统信息。

监控与统计
pg_read_all_stats读取全部统计

这些角色旨在让管理员能够方便地为监控数据库服务器配置一个角色。它们授予一组常见权限,使该角色能够读取各种有用的配置设置、统计信息以及其他通常仅限超级用户查看的系统信息。

监控与统计
pg_stat_scan_tables扫描表的监控

这些角色旨在让管理员能够方便地为监控数据库服务器配置一个角色。它们授予一组常见权限,使该角色能够读取各种有用的配置设置、统计信息以及其他通常仅限超级用户查看的系统信息。

监控与统计
pg_signal_autovacuum_worker通知自动清理进程

pg_signal_autovacuum_worker 允许向自动清理工作进程发送信号,以取消当前表的清理操作或终止其会话。见第 9.29.2 节。

进程与连接
pg_signal_backend通知后端进程

pg_signal_backend 允许向另一个后端发送信号,以取消查询或终止其会话。注意,这个角色不允许向由超级用户拥有的后端发送信号。见第 9.29.2 节。

进程与连接
pg_use_reserved_connections使用预留连接

pg_use_reserved_connections 允许使用通过 reserved_connections 保留的连接槽。

进程与连接

已收录首次出现接口或属性变化不再收录

版本方格表示本次采样中的记录;最早收录版本不一定是实际引入版本。点击方格查看对应版本的说明与来源。

使用说明

预定义角色的权限可能随版本扩展。授予角色前,应核对目标版本的能力范围;对象权限、行级安全策略和角色成员关系仍按各自规则生效。