PostgreSQL環境のストアドプロシージャの提供元とスキーマ参照について

質問

🕓 事例公開日 : 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」以外は参照しておりません。
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk