PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dynamiczny audyt danych za pomocą wyzwalacza PostgreSQL

Nie wspomniałeś o swojej wersji PostgreSQL, co jest bardzo ważne przy pisaniu odpowiedzi na takie pytania.

Jeśli używasz PostgreSQL 9.0 lub nowszego (lub masz możliwość uaktualnienia), możesz użyć tego podejścia, jak udokumentował Pavel:

http://okbob.blogspot.com /2009/10/dynamic-access-to-record-fields-in.html

Ogólnie rzecz biorąc, chcesz odwoływać się do pola o dynamicznej nazwie w zmiennej PL/PgSQL typu rekord, takiej jak „NOWY” lub „STARY”. Historycznie było to irytująco trudne i nadal jest niezręczne, ale jest przynajmniej możliwe w wersji 9.0.

Inną alternatywą - która może być prostsza - jest napisanie wyzwalaczy audytu w plperlu, gdzie dynamiczne odwołania do pól są trywialne.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić własność wszystkich obiektów w określonym schemacie w PostgreSQL?

  2. Kopiowanie bazy danych PostgreSQL na inny serwer

  3. Dlaczego nowy użytkownik PostgreSQL może łączyć się ze wszystkimi bazami danych?

  4. Czy XPath sum lub funkcja fn:sum jest zaimplementowana w PostgreSQL XPath?

  5. Jak uzyskać różnicę dwóch pól datetime w dniach i godzinach w widoku postgresql?