RDS for PPAS のスーパーユーザー権限は利用できないため、ユーザーは、スーパーユーザーアカウントを使用してオフラインで PPAS データベースオブジェクトを管理することはできません。 そのため、さまざまな PPAS 機能を使用できるようにするために、一連の共通管理関数を提供しています。

管理関数を使用するための規則

クラウド上のさまざまな管理機能は、RDS ルートアカウントで実行する必要があります。 RDS ルートアカウントは、インスタンスの割り当て時に指定された管理アカウントで、"createdb"、"createrole"、"logon" などの権限を持ちます。

  • プラグイン管理機能: rds_manage_extension

    この機能により、クラウド上のプラグインを管理することができます。 この機能を使用して、現在 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');
  • 現在接続中のセッション: rds_pg_stat_activity()

    この関数は "pg_stat_activity" ビューに似ており、アカウントに関連した接続セッションに関するすべての情報を返します。

  • スロー SQL をチェックする: rds_pg_stat_statements()

    この関数は "pg_stat_statements" ビューをカプセル化したものです。 それは許可した範囲内でスロー SQL 文をチェックすることを可能にします。

  • パフォーマンス分析機能

    この機能グループは、Oracle AWR レポートに似ています。 現在の PPAS インスタンスのリアルタイムパフォーマンスを分析することができます。

      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.
  • セッション終了機能
     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 機能

    VPD は 仮想プライベートデータベース (Virtual Private Database) の略です。 それらのパラメータは同じなので、パッケージ "DBMS_RLS" と互換性のあるカプセル化です。

    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