本文介绍RDS PostgreSQL高权限账号和普通账号的权限详情。
权限说明
为了保障数据库的安全和稳定性,RDS PostgreSQL中的数据库账号未被授予对pg_authid表的访问权限。您可以通过使用pg_roles视图来查询数据库角色的信息。
普通账号
RDS PostgreSQL的普通账号权限和社区的非superuser账号的权限相同。具体请参见PostgreSQL官方文档。
高权限账号
RDS PostgreSQL的高权限账号除了支持普通账号的所有权限外,还支持以下权限:
在两阶段提交中,可以完成任何已准备的事务。
当涉及到多个数据库或系统之间的事务处理时,为了确保数据的一致性,常常使用两阶段提交(Two-Phase Commit)协议。这个协议确保所有相关的事务要么全部提交(完成),要么全部回滚(取消)。
更多信息,请参见SQL PREPARE TRANSACTION。
手动调用VACUUM相关命令,支持清理任何表。
Vacuum是用于回收已删除行所占用的磁盘空间,并更新统计信息的过程。更多信息,请参见VACUUM。
使用CREATE EVENT TRIGGER创建事件触发器(Event trigger),或将事件触发器的所有者改为自己。
事件触发器的更多信息,请参见CREATE EVENT TRIGGER。
使用CREATE EXTENSION创建插件。支持的插件请参见支持插件列表。
创建函数时为函数指定LEAKPROOF属性,或修改函数的LEAKPROOF的属性。
更多信息,请参见CREATE FUNCTION。
使用CREATE PUBLICATION创建发布,或修改一个发布的所有者。
在PostgreSQL中,创建发布(publication)是通过逻辑复制功能来实现的,允许将数据库的更改操作传输到其他数据库实例。
使用CREATE SUBSCRIPTION创建订阅,或修改一个订阅的所有者。
在PostgreSQL中,您可以通过逻辑复制功能创建订阅(subscription)。订阅允许将来自发布(publication)的更改应用到订阅数据库。
使用文本搜索(text search)功能,进行全文搜索和文本匹配操作。更多信息,请参见Full Text Search。
修改数据类型的所有者。
创建高权限账号,或者修改其他普通账号为高权限账号。
查看高权限账号和所有普通账号的后端进程,并支持对进程使用
pg_terminate_backend()
等函数。从视图
pg_stat_activity
中获取高权限账号和所有普通账号的后端连接信息。对普通账号的对象执行GRANT 、REVOKE操作。更多信息,请参见GRANT、REVOKE。
使用SET ROLE将当前会话的账号(即高权限账号)权限变更为指定普通账号的权限。
相关参考
如果您需要对账号权限进行精细化管理,请参见RDS PostgreSQL权限管理最佳实践。
- 本页导读 (1)
- 权限说明
- 普通账号
- 高权限账号
- 相关参考