スキップしてコンテンツを表示

"ERROR:  ˂module/extension˃ must be loaded via shared_preload_libraries" というエラーを解決する方法を教えてください。

所要時間2分
0

PostgreSQL DB インスタンス用の Amazon Relational Database Service (Amazon RDS) を利用しています。"ERROR:  <module/extension> must be loaded via shared_preload_libraries" というエラーのトラブルシューティングをしたいです。

簡単な説明

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

"ERROR: <module/extension> must be loaded via 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 for 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. Aurora と RDS コンソールにログインします。
  2. ナビゲーションペインで [パラメータグループ] をクリックします。
  3. [パラメータグループの作成] を選択します。
  4. [パラメータグループファミリー] リストで、[DB パラメータグループファミリー] を選択します。
  5. [グループ名] ボックスに、新しい DB パラメータグループの名前を入力します。
  6. [説明] ボックスに、新しい DB パラメータグループの説明を入力します。
  7. [作成] をクリックします。

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

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

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

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

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

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

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

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

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

関連情報

pg_stat_statements の PostgreSQL ドキュメント (PostgreSQL のウェブサイト)

Working with parameter groups (パラメータグループの使用)

1コメント

This article was reviewed and updated on 2023-06-14.

エキスパート

応答済み 2ヶ月前

関連するコンテンツ