Rule Creates Duplicates retry - Mailing list pgsql-sql

From Martin Davidsson
Subject Rule Creates Duplicates retry
Date
Msg-id 000501c2d777$2a0e1040$62400798@martin
Whole thread Raw
Responses Re: Rule Creates Duplicates retry  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
Hello,
 
[I sent this email off yesterday, but didn't appear to make it to the list. Hope nobody gets this twice :(]
 
I have a rule that I've been trying to run against a certain table, but it always spits out blank rows, in addition to the rows I want.
 
I have Apach logging to a postgresql 7.3 database with each parameter seperated by a |. I then create a rule to seperate these logs into more logical columns, like this:
 
create rule split_log as on insert to messyTable where message like '%website.url%' do insert into cleanTable values (
split_part(syslogtb.message,' | ',1),
split_part(syslogtb.message,' | ',2),
.....
split_part(syslogtb.message,' | ',n)
);
 
where n is the number of parameters Apache logs.
 
Without the rule, everything gets properly inserted into mesyTable. I want to rule in place to seperate out the information. But the rule produces a cleanTable that contains the expected stuff, but it also contains duplicates of that stuff, and several empty rows. Is there any obvious way to avoid either?
 
Thanks!
 
// Martin Davidsson

pgsql-sql by date:

Previous
From: Jan Wieck
Date:
Subject: Re: Drop temporary table only if it exists
Next
From: Josh Berkus
Date:
Subject: Re: Drop temporary table only if it exists