こんにちは。インサイトテクノロジーの松尾です!
さて、本記事では RDS for PostgreSQL の監査ログ (pgaudit) で select などが実行された際の取得行数を出力する方法を紹介します!
PostgreSQL 15 から可能になった pgaudit での取得行数出力
実は PostgreSQL 14 以前の pgaudit
では、取得行数を監査ログへ出力することができませんでした。そのため監査ログで select
文が出力されていても、その select
文でどれくらい大量のデータが返されたかを監査ログからは確認できませんでした。
PostgreSQL 15 では pgaudit
のオプションとして取得行数を出力するオプションが追加されました。ラメータは pgaudit.log_rows
です。オプションです。デフォルトでは無効になっています。
pgaudit.log_rows
Specifies that audit logging should include the rows retrieved or affected by a statement. When enabled the rows field will be included after the parameter field.
The default is off.
参考) https://github.com/pgaudit/pgaudit#pgauditlog_rows
RDS for PostgreSQL で使用する場合には、パラメータグループで設定します。では早速有効にしてみましょう!
※ちなみに Aurora PostgreSQL の PostgreSQL 15 互換バージョンでは未対応のようです。
取得行数の出力
説明にあるよう、後ろの方に 14 という取得行数が出力されていますね!
おわりに
本記事では RDS for PostgreSQL 15 の監査ログ (pgaudit) で select などが実行された際の取得行数を出力する方法を紹介しました。本文中にも記載しましたが、Aurora の PostgreSQL 15 互換バージョンではまだ対応していないようです。対応が待ち遠しいですね!