"Denise Bossarte" <mypostgreSQL@hotmail.com> writes:
> I have looked at the documentation on locking and VACUUM and have found
> conflicting reports.
> http://www.postgresql.org/idocs/index.php?locking-tables.html states that
> VACUUM (without FULL) acquires a ShareUpdateExclusiveLock and VACUUM with
> FULL acquires an AcessExclusiveLock.
This is correct.
> However, the 7.2.1 Appendix A. Release Notes state "Vacuuming no longer
> locks tables, thus allowing normal user access during the vacuum. A new
> VACUUM FULL command does old-style vacuum by locking the table and shrinking
> the on-disk copy of the table.
This is an oversimplification, as it says "lock" where it means
AccessExclusiveLock.
> Additionally, the "Transaction Processing
> in Postgres" pdf http://developer.postgresql.org/pdf/transactions.pdf only
> shows AcessExclusiveLock acquird by VACUUM (full? - not stated) (p. 18).
This document is pre-7.2.
regards, tom lane