PostgreSQLのバージョンについては言及していません。これは、このような質問への回答を書くときに非常に重要です。
PostgreSQL 9.0以降を実行している(またはアップグレードできる)場合は、Pavelに記載されているようにこのアプローチを使用できます:
http://okbob.blogspot.com /2009/10/dynamic-access-to-record-fields-in.html
一般に、必要なのは、「NEW」や「OLD」などのレコード型のPL/PgSQL変数で動的に名前が付けられたフィールドを参照することです。これは歴史的に厄介なことであり、それでも厄介ですが、少なくとも9.0では可能です。
他の代替手段(より簡単かもしれません)は、動的フィールド参照が簡単なplperluで監査トリガーを作成することです。