I notice a dearth of description of the FOR EACH STATEMENT flavour of
triggers, even though OLD_TABLE and NEW_TABLE are mentioned.
After years of Sybase & MSSQL, being able to deal with the entire
INSERTED/DELETED rowsets in a trigger, rather than nibbling away
row by row, has been a great efficiency boost. In fact, the only I've
resorted to FOR EACH ROW triggers is where joining OLD_TABLE and
NEW_TABLE by primary key burned the CPU --- both pseudo-tables being
very large in some updates, and perforce having no indexes ...
I can see from src/backend/command/trigger.c that
ExecASInsertTriggers() would have a hard time getting at the equivalent
of OLD_TABLE and NEW_TABLE, ExecBSInsertTriggers even worse.
Anyone else out there who feels this would be a significant
enhancement?