質問
🕓 事例公開日 : 2025-08-26
【背景】
PostgreSQL 13のサポート終了に伴うPostgreSQL 17へのアップデート対応を進めている。PostgreSQL公式のリリースノートを確認したところ、DBのView・関数でデフォルトスキーマ以外を参照する際はsearch_pathを使用する必要があるとの記載があった。現在の環境で作成した覚えのないストアドプロシージャが存在するため、これらの影響範囲を確認したい。Q1.
環境内に存在する「pgaudit_ddl_command_end」と「pgaudit_sql_drop」の2つのストアドプロシージャは、intra-mart製品標準またはRDS側で用意されたものでしょうか?Q2.
これらのストアドプロシージャがintra-mart製品標準またはRDS側で用意されたものの場合、デフォルトスキーマ以外を参照しているかどうか教えてください。回答
A1.
「pgaudit_ddl_command_end」および「pgaudit_sql_drop」は、RDS側で用意されたストアドプロシージャです。これらはPostgreSQLの監査機能を提供する公式拡張機能「pgaudit」を利用する上で必須の要素であり、pgaudit拡張機能の有効化に伴って自動的に作成されるものです。
A2.
対象の2つのストアドプロシージャは、デフォルトスキーマ以外を参照していません。これらのストアドプロシージャにおけるデフォルトスキーマは「pg_catalog」および「pg_temp」であり、現在のsearch_pathについても同じ2つが設定されています。
そのため、デフォルトスキーマである「pg_catalog」、「pg_temp」以外は参照しておりません。