PostgreSQL提供一组默认角色, 他们可以访问特定的、通常需要的特权功能和信息。 管理员可以将这些角色 GRANT 给用户和/或其环境中的其他角色, 为这些用户提供对指定功能和信息的访问权限。
默认的角色在表 21.1中描述。 请注意,每个默认角色的特定权限可能会因为将来添加额外的功能而发生变化。 管理员应监控发行说明以进行更改。
表 21.1. 默认角色
角色 | 允许的权限 |
---|---|
pg_read_all_settings | 阅读所有配置变量,即使那些通常只对超级用户可见的配置变量。 |
pg_read_all_stats | 阅读所有pg_stat_*视图并使用各种统计相关的扩展,甚至那些通常只对超级用户可见的扩展。 |
pg_stat_scan_tables | 执行可能对表进行可能需要很长时间ACCESS SHARE 锁定的监视功能。 |
pg_signal_backend | 给其他后端发送信号(比如: 取消查询、终止)。 |
pg_monitor | 读取/执行各种监视视图和函数。
此角色是pg_read_all_settings 、
pg_read_all_stats 和
pg_stat_scan_tables 的成员。 |
pg_monitor
、pg_read_all_settings
、
pg_read_all_stats
和pg_stat_scan_tables
角色旨在允许管理员轻松配置角色以监视数据库服务器。他们授予一组通用权限,
允许角色读取通常仅限于超级用户的各种有用的配置设置,统计信息和其他系统信息。
应小心授予这些角色,以确保只在需要执行所需监视的情况下才会使用这些角色。
管理员可以使用GRANT命令给这些用户授予访问权限:
GRANT pg_signal_backend TO admin_user;