PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Dynamisches Auditing von Daten mit PostgreSQL-Trigger

Sie haben Ihre Version von PostgreSQL nicht erwähnt, was sehr wichtig ist, wenn Sie Antworten auf Fragen wie diese schreiben.

Wenn Sie PostgreSQL 9.0 oder neuer ausführen (oder ein Upgrade durchführen können), können Sie diesen Ansatz verwenden, wie von Pavel dokumentiert:

http://okbob.blogspot.com /2009/10/dynamischer-zugriff-auf-datensatzfelder-in.html

Im Allgemeinen möchten Sie auf ein dynamisch benanntes Feld in einer datensatztypisierten PL/PgSQL-Variablen wie „NEW“ oder „OLD“ verweisen. Dies war in der Vergangenheit ärgerlich schwierig und ist immer noch umständlich, aber zumindest in 9.0 möglich.

Ihre andere Alternative - die möglicherweise einfacher ist - besteht darin, Ihre Audit-Trigger in plperlu zu schreiben, wo dynamische Feldreferenzen trivial sind.