Chapter 35.4, paragraph 4, of the PostgreSQL 9.0.1 Documentation says: Any collection of commands in the SQL language can be packaged together and defined as a function. Besides SELECT queries, the commands can include data modification queries (INSERT, UPDATE, and DELETE), as well as other SQL commands. (The only exception is that you cannot put BEGIN, COMMIT, ROLLBACK, or SAVEPOINT commands into a SQL function.)
This appears to be incorrect, in that attempting to include a VACUUM command in a query-language function elicits the following error message: ERROR: VACUUM cannot be executed from a function or multi-command string Thus, presumably "VACUUM" should be added to the list of exceptions. ˉ -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs