Jack,
> On version 7.3.2, 'truncate' can not be executed from pl/pgsql. But it
> isn't stated on change notes. Is it a bug?
No, it's a fix.
TRUNCATE, VACUUM, ANALYZE, and REINDEX all perform COMMIT statements as part
of their operation. If called within a function, this could cause part of
the function to be committed while the rest failed, or even cause a fatal
error.
As such, these statements have been deliberately disabled within PL/pgSQL and
SQL functions.
--
Josh Berkus
Aglio Database Solutions
San Francisco