Gerhard- It is good you covered INSERTS but I would replicate the Insert Trigger for Update event Vielen Danke, Martin ______________________________________________ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. > Date: Thu, 1 Jan 2009 14:41:08 +0100 > From: ml-postgresql-20081012-3518@xxxxxxxxx > To: pgsql-general@xxxxxxxxxxxxxx > Subject: How to cast a general record? > > Hello, > > I want to log with triggers or in functions, and these logs should be > independet of the transaction. Beside i want to have the information > which action was commited and which not. > > So my idea was to log into the same database with dblink, return the > primary keys and add them into a commit table. > > But my problem is, that I do not now how to write the rule properly. > > My schema locks like this: > > CREATE TABLE log_msg ( > msg_id bigserial not null, > msg text not null, > constraint msg_pkey primary key (msg_id) > ); > > CREATE TABLE log_commit ( > msg_id bigint not null, > constraint msg_pkey primary key (msg_id) > ); > > CREATE VIEW log AS > SELECT log_msg.*, log_commit.msg_id IS NOT NULL AS commited > FROM log_msg LEFT JOIN log_commit USING (msg_id); > > CREATE OR REPLACE RULE "insert_log" AS > ON INSERT TO log DO INSTEAD > > -- now this is pseudo code: > INSERT INTO log_commit (msg_id) > SELECT dblink('dbname=samedb', 'INSERT log_msg (msg) VALUES (' > || quote_literal(new.msg) > || ') RETURNING msg_id'); > > Regards, > Gerhard It’s the same Hotmail®. If by “same” you mean up to 70% faster. Get your account now. |