La sentencia create procedure en postgresql realmente no existe. se considera un procedure una función que ejecute una serie de procedimientos.
Cuando retornes un trigger metelo entre comillas.
Código SQL:
Ver originalCREATE FUNCTION audita() RETURNS "trigger" AS
para ejecutarlo, si se le llama procedure.
Código SQL:
Ver originalCREATE TRIGGER trig EXECUTE PROCEDURE la_funcion;
saludos