In current cvs (as in version 7.4.5), VACUUM does not work at all in autocommit=off mode. That is, because psql does not know that VACUUM cannot be performed inside an transaction.
Even if you do ROLLBACK; VACUUM; it will internally issue a ROLLBACK; BEGIN; VACUUM; I consider this a bug and suggest the attached fix. is_transact_command() in src/bin/psql/common.c is used to determine if a command is a transaction modifying command. The diff just adds "vacuum" to those commands, so that psql will not issue a BEGIN before a VACUUM. Best Regards, Michael Paesold
psql-autocommit-vacuum.diff
Description: Binary data
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org