Aurora PostgreSQL DB クラスターに Trusted Language Extensions を設定する
以下のステップでは、Aurora PostgreSQL DB クラスター がカスタム DB クラスター パラメータグループに関連付けられていることを前提としています。これらの手順には、AWS マネジメントコンソール または AWS CLI を使用できます。
Aurora PostgreSQL DB クラスター で信頼できる Trusted Language Extensions をセットアップする場合、そのデータベースに対するアクセス許可を持つデータベースユーザーが使用できるように、特定のデータベースにインストールします。
Trusted Language Extensions をセットアップするには
rds_superuser グループ (ロール) のメンバーであるアカウントを使用して、次のステップを実行します。
AWS マネジメントコンソール にサインインし、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=>\dxList 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 languageAurora PostgreSQL DB クラスター のセットアップ時に作成したプライマリユーザー名に
pgtle_adminロールを付与します。デフォルトを受け入れた場合は、postgresです。labdb=>GRANT pgtle_admin TO postgres;GRANT ROLE次の例に示すように、
psqlメタコマンドを使用して、付与されたことを確認できます。出力にはpgtle_adminとpostgresロールのみが表示されます。詳細については、「PostgreSQL のロールとアクセス権限について」を参照してください。labdb=>\duList 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-namecustom-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-identifierwriter-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 を使用した信頼できる言語拡張関数の作成」を参照してください。