Du nämnde inte din version av PostgreSQL, vilket är väldigt viktigt när du skriver svar på frågor som denna.
Om du kör PostgreSQL 9.0 eller senare (eller kan uppgradera) kan du använda detta tillvägagångssätt som dokumenterats av Pavel:
http://okbob.blogspot.com /2009/10/dynamic-access-to-record-fields-in.html
I allmänhet, vad du vill är att referera till ett dynamiskt namngivet fält i en posttypad PL/PgSQL-variabel som 'NEW' eller 'OLD'. Detta har historiskt sett varit irriterande svårt och är fortfarande besvärligt men är åtminstone möjligt i 9.0.
Ditt andra alternativ - som kan vara enklare - är att skriva dina granskningsutlösare i plperlu, där dynamiska fältreferenser är triviala.