The superuser permissions in RDS for PPAS are not released, so you cannot use the superuser account in the same way as offline usage of PPAS to manage database objects. Therefore, we provide a set of common management functions, allowing you to use various PPAS features.

Rules for using management functions

Various management functions on the cloud must be run by an RDS root account. The RDS root account is a management account specified upon instance allocation, and has the permissions such as createdb, createrole, and logon.

  • Plugin management function: rds_manage_extension

    This function enables you to manage plugins on the cloud. You can use this function to create and delete the plugins that are currently supported by PPAS.

    rds_manage_extension(operation text, pname text, schema text default NULL,logging bool default false)
      operation: create or drop
      pname: the name of the supported plugin
      schema: the target mode to which the plugin is created
      logging: the log information obtained upon creating the plugin
      The plugins that are currently supported include:
      pg_stat_statements   
      btree_gin   
      btree_gist   
      chkpass   
      citext   
      cube   
      dblink   
      dict_int   
      earthdistance   
      hstore   
      intagg   
      intarray   
      isn   
      ltree   
      pgcrypto   
      pgrowlocks   
      pg_prewarm   
      pg_trgm   
      postgres_fdw   
      sslinfo   
      tablefunc   
      tsearch2   
      unaccent   
      postgis   
      postgis_topology   
      fuzzystrmatch   
      postgis_tiger_geocoder   
      plperl   
      pltcl   
      plv8   
      "uuid-ossp"   
      plpgsql
      oss_fdw
      For example:
      1. Create the plugin named dblink.
          select rds_manage_extension('create','dblink');
      2. Delete the plugin named dblink.
          select rds_manage_extension('drop','dblink');
  • Currently connected session: rds_pg_stat_activity()

    This function is similar to the pg_stat_activity view, and returns all information about the connected sessions related to the account.

  • Check slow SQL: rds_pg_stat_statements()

    This function is the encapsulation of the pg_stat_statements view. It allows you to check the slow SQL statements within your range of permission.

  • Performance analysis functions

    This group of functions is similar to the Oracle AWR report. It enables you to analyze the real-time performance of the current PPAS instance.

      1 rds_truncsnap()
      NOTE: Delete all currently stored snapshots.
      2 rds_get_snaps()
      NOTE: Get the information of all currently stored snapshots.
      3 rds_snap()
      NOTE: Generate a real-time snapshot.
      4 rds_report(beginsnap bigint, endsnap bigint)
      Produce a starting snapshot change and an ending snapshot change to generate a snapshot based performance analysis report.
      Example: The process of generating a performance analysis report through the production of snapshots is described as follows.
      SELECT * FROM rds_truncsnap(); // Delete the previously stored snapshots.
      SELECT * from rds_snap(); // Produce a snapshot.
      SELECT * from rds_snap(); // Produce a snapshot.
      SELECT * from rds_snap(); // Produce a snapshot.
      SELECT * FROM rds_get_snaps(); // Get the currently produced snapshots ID, namely, 1, 2, and 3.
      SELECT * FROM edbreport(1, 3); // Generate a performance analysis report based on the snapshots.
  • Session termination function.
     rds_pg_terminate_backend(upid int)
      rds_pg_cancel_backend(upid int)
      These two functions are the native pg_terminate_backend and pg_cancel_backend. The only difference between the two functions is that they cannot run the connections created by the superuser.
      Example: Terminate the session with process ID 123456.
      select rds_pg_cancel_backend(123456);
  • VPD function

    VPD is short for Virtual Private Database. It is an encapsulation compatible with Package DBMS_RLS because their parameters are the same.

    1 rds_drop_policy corresponding to DBMS_RLS.DROP_POLICY
      2 rds_enable_policy corresponding to DBMS_RLS.ENABLE_POLICY
      3 rds_add_policy corresponding to DBMS_RLS.ADD_POLICY

Learn more about VPD