Flávio Suguimoto wrote:
> Hi all,
> 
> I have a problem in a trigger that disable all the triggers of a table. This
> error occurs randomly and my guess is that occurs when i have a lot of
> concurrents inserts in the table participation.
> 
> The error is :  RelationBuildTriggers: 2 record(s) not found for rel
> participation

I don't know what's involved in this particular bug, but the short
answer is: don't update system catalogs directly.  Have your triggers
cope with the situation where you don't want to fire them in certain
cases.

System catalogs are delicate stuff; there are some caches that must be
maintained in a coherent manner.  Usually the catalogs do not follow
MVCC rules to the letter.  The "UPDATE pg_class" was used by pg_dump at
some point, but it was only a hack and I wouldn't expect it to work
correctly when multiple processes are involved.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to