>>403
最後のほうが微妙にちがうかも?

CREATE FUNCTION temp_counter() RETURNS OPAQUE AS '
BEGIN
EXECUTE ''UPDATE my_counter_table SET ''
|| quote_ident(TG_RELNAME)
|| ''=(SELECT COUNT(*) FROM ''
|| quote_ident(TG_RELNAME)
|| '')'';
RETURN NULL;
END;
' LANGUAGE 'plpgsql';

|| は文字列の結合です。