RDS for PostgreSQL DB インスタンスに Trusted Language Extensions を設定する
以下のステップでは、 RDS for PostgreSQL DB インスタンスがカスタム DB パラメータグループに関連付けられていることを前提としています。これらの手順には、AWS Management Console または AWS CLI を使用できます。
RDS for PostgreSQL DB インスタンスで信頼できる Trusted Language Extensions をセットアップする場合、そのデータベースに対するアクセス許可を持つデータベースユーザーが使用できるように、特定のデータベースにインストールします。
Trusted Language Extensions をセットアップするには
rds_superuser
グループ (ロール) のメンバーであるアカウントを使用して、次のステップを実行します。
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
ナビゲーションペインで、 RDS for PostgreSQL DB インスタンスを選択します。
-
の [Configuration] (設定) タブを開きます。RDS for PostgreSQL DB インスタンス。インスタンスの詳細の中から、パラメータグループのリンクを見つけてください。
-
リンクを選択して、に関連するカスタムパラメータを開きます。RDS for PostgreSQL DB インスタンス。
-
パラメータ検索フィールドに、
shared_pre
を入力してshared_preload_libraries
パラメータを検索します。 -
プロパティ値にアクセスするには、[Edit parameters] (パラメータの編集) を選択します。
-
[Values] (値) フィールドのリストに
pg_tle
を追加します。値のリスト内の項目を区切るにはカンマを使用します。 RDS for PostgreSQL DB instance を再起動して、
shared_preload_libraries
パラメータの変更を有効にします。インスタンスが使用可能になったら、
pg_tle
が初期化されていることを確認します。psql
を使用して RDS for PostgreSQL DB インスタンスに接続し、次のコマンドを実行します。SHOW shared_preload_libraries;
shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)
pg_tle
拡張子を初期化すると、拡張機能を作成できるようになりました。CREATE EXTENSION pg_tle;
以下の
psql
メタコマンドを使用して、拡張機能がインストールされていることを確認できます。labdb=>
\dx
List of installed extensions Name | Version | Schema | Description ---------+---------+------------+-------------------------------------------- pg_tle | 1.0.1 | pgtle | Trusted-Language Extensions for PostgreSQL plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
RDS for PostgreSQL DB インスタンスのセットアップ時に作成したプライマリユーザー名に
pgtle_admin
ロールを付与します。デフォルトを受け入れた場合は、postgres
です。labdb=>
GRANT pgtle_admin TO postgres;GRANT ROLE
次の例に示すように、
psql
メタコマンドを使用して、付与されたことを確認できます。出力にはpgtle_admin
とpostgres
ロールのみが表示されます。詳細については、「rds_superuser ロールを理解する」を参照してください。labdb=>
\du
List of roles Role name | Attributes | Member of -----------------+---------------------------------+----------------------------------- pgtle_admin | Cannot login | {} postgres | Create role, Create DB +| {rds_superuser,pgtle_admin} | Password valid until infinity |...
\q
メタコマンドを使用してpsql
セッションを終了します。\q
TLE 拡張機能の作成を開始するには、「例: SQL を使用した信頼できる言語拡張関数の作成」を参照してください。
AWS CLI をデフォルト AWS リージョン に設定することで、CLI コマンドを使用するときに --region
引数を指定しなくても済みます。詳細については、AWS Command Line Interface ユーザーガイドの「設定の基本」を参照してください。
Trusted Language Extensions をセットアップするには
shared_preload_libraries
パラメータにpg_tle
を追加するには、modify-db-parameter-group AWS CLI コマンドを使用します。aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pg_tle,ApplyMethod=pending-reboot" \ --regionaws-region
-
reboot-db-instance AWS CLI コマンドを使用して、を再起動し、
pg_tle
ライブラリを初期化します。aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region
インスタンスが使用可能になると、
pg_tle
が初期化されていることを確認できます。psql
を使用して RDS for PostgreSQL DB インスタンスに接続し、次のコマンドを実行します。SHOW shared_preload_libraries;
shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)
pg_tle
を初期化すると、拡張機能を作成できるようになりました。CREATE EXTENSION pg_tle;
RDS for PostgreSQL DB インスタンスのセットアップ時に作成したプライマリユーザー名に
pgtle_admin
ロールを付与します。デフォルトを受け入れた場合は、postgres
です。GRANT pgtle_admin TO postgres;
GRANT ROLE
以下のように
psql
セッションを終了します。labdb=>
\q
TLE 拡張機能の作成を開始するには、「例: SQL を使用した信頼できる言語拡張関数の作成」を参照してください。