What we could do is set up a logtable for each table we want to track
and save all values on a change (with a server side trigger) plus the
person responsible. This way we have to design a lot of custom tables
for each table we want to check, and write the functions accordingly.
So I was thinking if there already was a "right way©" to do this. It
should be a fairly common problem, so maybe there is a standard
solution.
Typically you'll do what you suggest and create log tables.
There's some example postgresql code over here: http://www.varlena.com/varlena/GeneralBits/66.php; see "using plpython to generically log or copy tables."
--
Jonathan Ellis
http://spyced.blogspot.com