PostgreSQL数据库具有Superuser属性的用户具有最高权限,高权限易出现一些误操作,各版本一直在降低对超级用户权限的依赖,本文介绍各版本对超级用户权限下放的细节。
9.6版本下放对后端进程取消或中止的操作
PostgreSQL 9.6开始提供预置角色对需要经常使用的功能进行权限访问,第一个预置角色是pg_signal_backend。它可以使用pg_cancel_backend或者pg_terminate_backend函数对后端进程发送信号,取消后端进程查询或者中止后端进程。
10版本下放监控相关的操作
PostgreSQL 10支持预置角色pg_monitor,它包含如下三个监控相关的权限。
11版本下放COPY相关的操作
PostgreSQL 11对COPY操作的如下三个预置角色。
另外版本11支持pg_rewind工具依赖的文件读取函数下放,可通过grant将权限赋给普通用户。
14版本下放全局读写的操作
PostgreSQL 14支持数据库通用宿主及全局读写的权限。
15版本下放checkpoint操作
PostgreSQL 15支持预置角色pg_checkpoint执行checkpoint操作。
16dev版本下放maintain操作
正在开发中的PostgreSQL 16支持预置角色pg_maintain执行一些维护操作。
保持联系
本人组建了一个技术交流群:PG乐知乐享交流群。欢迎关注文章的小伙伴随缘加入,进群请加本人微信skypkmoon并备注PG乐知乐享。
