RDS 上 PPAS 由于没有对外开放超级用户,用户无法像线下使用 PPAS 那样使用 superuser 账号管理数据库对象。为此,我们推出了一组管理函数,帮助用户顺利使用云上的 PPAS 各种功能。
管理函数的使用规则
在云上的各类管理函数都要求用户使用 RDS 根账号来执行。RDS 根账号是分配实例时指定的管理账号,具有 createdb createrole login 权限。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云RDS PPAS中,为应对没有超级用户权限的管理需求,提供了一系列管理函数以帮助用户高效且安全地执行数据库管理任务。以下是这些管理函数的使用规则和示例:
createdb, createrole, 和 login权限。rds_manage_extensionrds_manage_extension(operation text, pname text, schema text default NULL, logging bool default false)
operation: 'create' 或 'drop',分别表示创建或删除插件。pname: 插件名称,如dblink。schema: 目标模式,默认为NULL。logging: 是否记录日志,默认false。dblink:SELECT rds_manage_extension('create', 'dblink');dblink:SELECT rds_manage_extension('drop', 'dblink');rds_pg_stat_activity()pg_stat_activity视图,展示用户相关的所有数据库连接会话信息。rds_pg_stat_statements()pg_stat_statements视图,帮助用户监控自己权限范围内的慢SQL。rds_truncsnap():删除所有保存的快照。rds_get_snaps():获取当前所有快照信息。rds_snap():生成实时快照。rds_report(beginsnap bigint, endsnap bigint):根据快照ID生成性能分析报告。SELECT * FROM rds_truncsnap();SELECT * from rds_snap();SELECT * FROM rds_get_snaps();SELECT * FROM rds_report(1, 3);rds_pg_terminate_backend(upid int)rds_pg_cancel_backend(upid int)SELECT rds_pg_cancel_backend(123456);rds_drop_policy、rds_enable_policy、rds_add_policy分别对应DBMS_RLS的相应操作。通过上述管理函数,用户可以有效管理和优化阿里云RDS PPAS实例,同时确保数据安全与访问控制。