閱讀476 返回首頁    go 財經資訊


常用管理函數__快速入門(PPAS)_雲數據庫 RDS 版-阿裏雲

RDS 上 PPAS 由於沒有對外開放超級用戶,用戶無法像線下使用 PPAS 那樣使用 superuser 賬號管理數據庫對象。為此,我們推出了一組管理函數,幫助用戶順利使用雲上的 PPAS 各種功能。

管理函數的使用規則

在雲上的各類管理函數都要求用戶使用 RDS 根賬號來執行。RDS 根賬號是分配實例時指定的管理賬號,具有 createdb createrole login 權限。

一:插件管理函數 rds_manage_extension

該函數幫助用戶管理雲上的插件,用戶可以使用該函數創建和刪除 PPAS 目前已經支持的插件。

  1. rds_manage_extension(operation text, pname text, schema text default NULL,logging bool default false)
  2. operation: create 或 drop
  3. pname: 支持的插件名
  4. schema:插件創建到的目標模式
  5. logging:插件創建時的日誌信息
  6. 目前支持的插件有:
  7. pg_stat_statements
  8. btree_gin
  9. btree_gist
  10. chkpass
  11. citext
  12. cube
  13. dblink
  14. dict_int
  15. earthdistance
  16. hstore
  17. intagg
  18. intarray
  19. isn
  20. ltree
  21. pgcrypto
  22. pgrowlocks
  23. pg_prewarm
  24. pg_trgm
  25. postgres_fdw
  26. sslinfo
  27. tablefunc
  28. tsearch2
  29. unaccent
  30. postgis
  31. postgis_topology
  32. fuzzystrmatch
  33. postgis_tiger_geocoder
  34. plperl
  35. pltcl
  36. plv8
  37. "uuid-ossp"
  38. plpgsql
  39. oss_fdw
  40. 舉例:
  41. 1 創建插件 dblink
  42. select rds_manage_extension('create','dblink');
  43. 2 刪除插件 dblink
  44. select rds_manage_extension('drop','dblink');

二:當前連接會話 rds_pg_stat_activity()

該函數類似 pg_stat_activity 視圖,返回用戶相關的所有連接會話信息。

三:查看慢 SQL 的函數 rds_pg_stat_statements()

該函數是視圖 pg_stat_statements 的封裝,目的是讓用戶查看自己權限範圍內的慢SQL。

四:性能分析函數

本組函數,類似 Oracle AWR 報告,提供給用戶一組函數幫助用戶分析目前 PPAS 實例的試試性能信息。

  1. 1 rds_truncsnap()
  2. 說明: 刪除目前保存的所有快照。
  3. 2 rds_get_snaps()
  4. 說明: 獲得目前保存的所有快照信息。
  5. 3 rds_snap()
  6. 說明:產生一個實時快照。
  7. 4 rds_report(beginsnap bigint, endsnap bigint)
  8. 製定一個初始快照變化和結束快照變化,產生基於快照的性能分析報告。
  9. 舉例:下麵是一個通過產生快照生成性能分析報告的過程
  10. SELECT * FROM rds_truncsnap(); //刪除之前保存的快照
  11. SELECT * from rds_snap(); // 產生一個快照
  12. SELECT * from rds_snap(); // 產生一個快照
  13. SELECT * from rds_snap(); // 產生一個快照
  14. SELECT * FROM rds_get_snaps(); //獲取目前產生的快照ID: 1 2 3
  15. SELECT * FROM edbreport(1, 3); //根據快照產生一個性能分析報告

五:終止會話函數

  1. rds_pg_terminate_backend(upid int)
  2. rds_pg_cancel_backend(upid int)
  3. 該函數分別對應原生的 pg_terminate_backend 和 pg_cancel_backend,區別僅是他們無法操作 supueruser 建立的連接。
  4. 舉例:終止進程號為 123456 的回話
  5. select rds_pg_cancel_backend(123456);

六:VPD 函數

  1. VPD 即 Virtual Private Database,是兼容 Package DBMS_RLS 的一種封裝,參數完全相同。
  2. 1 rds_drop_policy 對應 DBMS_RLS.DROP_POLICY
  3. 2 rds_enable_policy 對應 DBMS_RLS.ENABLE_POLICY
  4. 3 rds_add_policy 對應 DBMS_RLS.ADD_POLICY

VPD 參考鏈接

最後更新:2016-11-23 16:04:17

  上一篇:go 附錄:PPAS 兼容性說明__快速入門(PPAS)_雲數據庫 RDS 版-阿裏雲
  下一篇:go 登錄與注銷__用戶指南_雲數據庫 RDS 版-阿裏雲