chris(at)chrullrich(dot)net writes:
> According to the manual, ALTER TABLE ... ALTER CONSTRAINT ... DEFERRABLE
> should work. It does not, according to the script below.
Hm. It works fine if you cause a reconnect (\c) after the ALTER TABLE.
I suspect the problem is that ATExecAlterConstraint forces a relcache
inval on the named table (detail), but neglects to do so on the other
table (master). The session's cached pg_trigger records for master thus
still say the triggers are nondeferrable.
regards, tom lane