VACUUM and locking - Mailing list pgsql-sql

From Denise Bossarte
Subject VACUUM and locking
Date
Msg-id apbkr3$a8f$1@news.hub.org
Whole thread Raw
Responses Re: VACUUM and locking
List pgsql-sql
I am trying to automate VACUUMing several databases and am confused on how
client connections to the database might affect the VACUUM.

I have looked at the documentation on locking and VACUUM and have found
conflicting reports.

The 7.2.1 Documentation
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.

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."  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).

So which, if any, locks does VACUUM acquire?  How do client connections to
the database affect the VACUUM? What is the best way to automate VACUUM?

Thanks for your help,

Denise






pgsql-sql by date:

Previous
From: Christoph Haller
Date:
Subject: Re: Accumulated sums in SQL query
Next
From: "John Ragan"
Date:
Subject: CoreReader