I attach the patch for Statement Triggers (StmtTrig) in postgreSQL.
Statement Triggers are executed only once for the command use in the
definition not influenced by the number of tuples affected. With this path
is valid the sentence

 "CREATE TRIGGER disp1 BEFORE INSERT ON tbtest FOR EACH STATEMENT EXECUTE
PROCEDURE FUNTEST();"

Thanks.

 Notes of use:

 Keep in mind that when creating a StmtTrig the functions executed get the
tuples (NEW/OLD if PL, tg_trigtuple and tg_newtuple in C) set to NULL.

If there are statement and row triggers defined for the same table and the
same event:
a) if the event itï¿½s before then itï¿½s  executed statement prior to any row
trigger
b) if the event itï¿½s afte then are  executed all row prior to statement
trigger

TODO triggers list:
 ->Include order to triggers following the recomendations of SQL3.
 ->Modify PL/SQL to access NEW/OLD table.
Wed, 25 Aug 1999 13:28:22 +0200
"F.J. Cuberos" <fjcuberos@infomail.lacaixa.es>
PATCH for Statement Triggers Support