Simple example to make things clearer.
CREATE TABLE tab (id INT SERIAL PRIMARY KEY, sth TEXT); --main table
CREATE TABLE log_tab(id INT, sth TEXT); --table to maintain logs in it
CREATE RULE tab_log_ins AS ON INSERT TO tab DO
INSERT INTO log_tab VALUES (new.id, new.sth);
INSERT INTO tab (sth) VALUES ('something');
when I insert new raw in tab, id field differs (rises by one) from id in
log_tab, how can i avoid it?
CREATE RULE tab_log_upd AS ON UPDATE TO tab DO
INSERT INTO log_tab VALUES (new.id, new.sth);
it happens nothing when I update one of field in tab. The same happens
with ON DELETE RULE.
Am I missing something or it's not yet implemented?
Do You think I should use triggers to log information about changing data?
btw. Did You know there will be conference about postgresql in Poland?
Anyone going to be there?:)
Marcin Mazurek
--
Kierownik Działu Systemowego
MULTINET SA o/Poznan
http://www.multinet.pl/