Aurora PostgreSQL DB クラスターに Trusted Language Extensions を設定する
以下のステップでは、Aurora PostgreSQL DB クラスター がカスタム DB クラスター パラメータグループに関連付けられていることを前提としています。これらの手順には、AWS Management Console または AWS CLI を使用できます。
Aurora PostgreSQL DB クラスター で信頼できる Trusted Language Extensions をセットアップする場合、そのデータベースに対するアクセス許可を持つデータベースユーザーが使用できるように、特定のデータベースにインストールします。
Trusted Language Extensions をセットアップするには
rds_superuser
グループ (ロール) のメンバーであるアカウントを使用して、次のステップを実行します。
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
ナビゲーションペインで、Aurora PostgreSQL DB クラスターのライターインスタンス を選択します。
-
Aurora PostgreSQL DB クラスターライターインスタンスの [Configuration] (設定) タブを開きます。インスタンスの詳細の中から、パラメータグループのリンクを見つけてください。
-
リンクを選択して、Aurora PostgreSQL DB クラスターに関連するカスタムパラメータを開きます。
-
パラメータ検索フィールドに、
shared_pre
を入力してshared_preload_libraries
パラメータを検索します。 -
プロパティ値にアクセスするには、[Edit parameters] (パラメータの編集) を選択します。
-
[Values] (値) フィールドのリストに
pg_tle
を追加します。値のリスト内の項目を区切るにはカンマを使用します。 Aurora PostgreSQL DB クラスターのライターインスタンス を再起動して、
shared_preload_libraries
パラメータの変更を有効にします。インスタンスが使用可能になったら、
pg_tle
が初期化されていることを確認します。psql
を使用して Aurora 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
Aurora PostgreSQL DB クラスター のセットアップ時に作成したプライマリユーザー名に
pgtle_admin
ロールを付与します。デフォルトを受け入れた場合は、postgres
です。labdb=>
GRANT pgtle_admin TO postgres;GRANT ROLE
次の例に示すように、
psql
メタコマンドを使用して、付与されたことを確認できます。出力にはpgtle_admin
とpostgres
ロールのみが表示されます。詳細については、「PostgreSQL のロールとアクセス権限について」を参照してください。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 コマンドを使用して、Aurora PostgreSQL DB クラスター のライター インスタンスを再起動し、
pg_tle
ライブラリを初期化します。aws rds reboot-db-instance \ --db-instance-identifier
writer-instance
\ --regionaws-region
インスタンスが使用可能になると、
pg_tle
が初期化されていることを確認できます。psql
を使用して Aurora PostgreSQL DB クラスターのライターインスタンス、次のコマンドを実行します。SHOW shared_preload_libraries;
shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)
pg_tle
を初期化すると、拡張機能を作成できるようになりました。CREATE EXTENSION pg_tle;
Aurora PostgreSQL DB クラスター のセットアップ時に作成したプライマリユーザー名に
pgtle_admin
ロールを付与します。デフォルトを受け入れた場合は、postgres
です。GRANT pgtle_admin TO postgres;
GRANT ROLE
以下のように
psql
セッションを終了します。labdb=>
\q
TLE 拡張機能の作成を開始するには、「例: SQL を使用した信頼できる言語拡張関数の作成」を参照してください。