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.

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to