Re: Rules/Trigges Trade-offs - Mailing list pgsql-sql

From Josh Berkus
Subject Re: Rules/Trigges Trade-offs
Date
Msg-id 200212061525.49284.josh@agliodbs.com
Whole thread Raw
In response to Re: Rules/Trigges Trade-offs  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Rules/Trigges Trade-offs  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-sql
Bruce, Richard,

> Triggers are mostly for testing/modifying the row being
> inserted/updated, while rules are better for affecting other rows or
> other tables.

Hmmm.  Thought that there were also some other criteria:

1) Rules can't use indexes to do their processing, so Rules which query large
secondary tables can be a bad idea (maybe this has changed?)

2) Only Rules can "DO INSTEAD"; thus, only Rules are good for defining
Read/Write views.

3) There are no AFTER Rules, making, for example, a rule with a table check on
the new data impractical, so you'd want to use Triggers or Constraints

etc.

There are, IMHO, some things Rules are better for, and some things Triggers
are better for.   I tend to use all Triggers except for updatable views,
simply because using a mix of Rules and Triggers can be very hard to keep
track of, but YMMV.


--
-Josh BerkusAglio Database SolutionsSan Francisco



pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: SELECT FOR UPDATE locks whole table
Next
From: Bruce Momjian
Date:
Subject: Re: Rules/Trigges Trade-offs