「エラー: <module/extension> は shared_preload_libraries 経由でロードしなければなりません」エラーの解決方法を教えてください。

最終更新日: 2020 年 6 月 17 日

私は PostgreSQL DB インスタンス用の Amazon Relational Database Service (Amazon RDS) を持っています。「エラー: <module/extension> は shared_preload_libraries 経由でロードしなければなりません」というエラーが表示されました。このエラーをトラブルシューティングして解決するにはどうすれば良いですか?

簡単な説明

Amazon RDS for PostgreSQL を使用する場合、共有ライブラリをサーバーに事前ロードして、追加の機能をロードするか、パフォーマンス上のメリットを達成することができます。ただし、モジュール/拡張機能を使用しようとすると、次のエラーが表示されることがあります。

  • 「エラー: <module/extension> は shared_preload_libraries 経由でロードしなければなりません」

たとえば、pg_stat_statements をクエリすると、次のエラーが発生することがあります。

postgres=> SELECT * FROM pg_stat_statements;
ERROR:  relation "pg_stat_statements" does not exist
postgres=> CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE EXTENSION
 
postgres=> SELECT * FROM pg_stat_statements;
ERROR:  pg_stat_statements must be loaded via shared_preload_libraries

このエラーを解決して pg_stat_statements をクエリするには、DB インスタンスに関連付けられたカスタムパラメータグループで shared_preload_libraries の値を pg_stat_statements に設定します。

RDS PostgreSQL で次のモジュール/拡張機能を使用するには、カスタムパラメータグループの shared_preload_libraries パラメータの値を変更します。

  • auto_explain
  • orafce
  • pgaudit
  • pglogical
  • pg_hint_plan
  • pg_prewarm
  • pg_similarity
  • pg_stat_statements
  • pg_transport
  • plprofiler

注意: カスタムパラメータグループのパラメータ値を変更できます。ただし、デフォルトの DB パラメータグループのパラメータ値を変更することはできません。カスタムパラメータグループのパラメータに変更を加えると、そのパラメータグループに関連付けられたすべての DB インスタンスに変更が適用されます。

解決方法

カスタムパラメータグループを作成する

注意: カスタムパラメータグループが既にある場合は、次のステップに進んでください。

  1. Amazon RDS コンソールにログインします。
  2. ナビゲーションペインで、[パラメータグループ] を選択します。
  3. [パラメータグループの作成] を選択します。
  4. パラメータグループファミリーリストから、[DB パラメータグループファミリー] を選択します。
  5. [グループ名] ボックスに新しい DB パラメータグループの名前を入力します。
  6. [説明] ボックスに新しい DB パラメータグループの説明を入力します。
  7. [作成] をクリックします。

カスタムパラメータグループのパラメータを変更する

  1. Amazon RDS コンソールにログインします。
  2. ナビゲーションペインで、[パラメータグループ] を選択します。
  3. リストから変更するパラメータグループを選択します。
  4. [パラメータグループアクション] で、[編集] を選択します。
  5. パラメータ shared_preload_libraries の値を変更します。
  6. [変更を保存] を選択します。

注意: shared_preload_libraries パラメータは静的パラメータです。静的パラメータを変更し、DB パラメータグループを保存すると、パラメータの変更はDB インスタンスを手動で再起動した後に有効になります。

パラメータグループを DB インスタンスに関連付ける

注意: カスタムパラメータグループが既に DB インスタンスに関連付けられている場合は、次のステップに進んでください。

DB インスタンスを変更して、カスタムパラメータグループを DB インスタンスに関連付けます。

DB インスタンスを再起動する

静的パラメータを変更し、DB パラメータグループを保存すると、パラメータの変更はDB インスタンスを手動で再起動した後に有効になります。

DB インスタンスに関連付けられている DB パラメータグループを変更する場合、DB インスタンスが新しい DB パラメータグループを使用する前に、DB インスタンスを手動で再起動する必要があります。

Amazon RDS コンソールを使用するか、RebootDBInstance API オペレーションを明示的に呼び出して DB インスタンスを再起動します (DB インスタンスがマルチ AZ 配置の場合はフェイルオーバーなし)。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合