Thread: How do I see what triggers are called on cascade?

How do I see what triggers are called on cascade?

From
andrew@pillette.com
Date:
I'm still having trouble with slow cascading DELETEs. What commands can I issue to see the sequence of events that
occursafter I execute  

DELETE FROM x WHERE p;

so that I can see if indexes being used correctly, or I have a constraint I don't want, etc.

Re: How do I see what triggers are called on cascade?

From
Tom Lane
Date:
andrew@pillette.com writes:
> I'm still having trouble with slow cascading DELETEs. What commands can I issue to see the sequence of events that
occursafter I execute  
> DELETE FROM x WHERE p;
> so that I can see if indexes being used correctly, or I have a constraint I don't want, etc.

I'd suggest starting a fresh backend, turning on log_statement, and then
issuing the DELETE.  log_statement will log the queries generated by the
foreign-key triggers ... but only the first time through, because those
triggers cache the query plans.

The queries you will see will be parameterized (they'll use $1,$2,etc).
You can use PREPARE and EXPLAIN ANALYZE EXECUTE to investigate what sort
of plans result.

            regards, tom lane