Re: trigger speed - Mailing list pgsql-general

From Sim Zacks
Subject Re: trigger speed
Date
Msg-id 4503D15A.1070505@compulab.co.il
Whole thread Raw
In response to trigger speed  (Joseph Shraibman <jks@selectacast.net>)
List pgsql-general
A statement level trigger is basically a notification that the table has
been touched. You do not have access to the new or old tables.
You can also write a DO ALSO rule on the table, which will accomplish
what you want.

Joseph Shraibman wrote:
> I have a trigger that updates a count table, based on status.  The count
> table looks like this:
>
> key  status  count
> a        1     300
> a        2     400
> b        1     100
> b        2     200
>
> The problem is that for large updates when I do "UPDATE table SET status
> = 1 WHERE status = 2 and key = 'a';" the row level trigger fires for
> each row updated, decrementing the a 2 row and incrmenting the a 1 row.
> For large updates this really slows things down.
>
> Question #1: how do I speed this up?  I need a way to run a trigger on
> all rows at once.
>
> Q #2: how do satement level triggers work?  The examples in the pg docs
> only show row level triggers.

pgsql-general by date:

Previous
From: Sim Zacks
Date:
Subject: Re: Is this logical?
Next
From: maarten
Date:
Subject: Re: Reinstall problem of PostgreSQL in Windows XP