Bruno Wolff III wrote:
> On Wed, Aug 09, 2006 at 11:24:03 -0700,
> Joel Stevenson <joelstevenson@mac.com> wrote:
> > I have a database that includes both highly transactional tables and
> > archive tables - OLTP and OLAP mixed together. Some of the archival
> > tables, which only experience inserts and reads, not updates or
> > deletes, contain many millions of rows and so they take a *long* time
> > to vacuum. Is there currently any means to exclude only these tables
> > from vacuumdb operations other than explicitly vacuuming all the
> > other tables and explicity skipping the archival tables?
>
> Take a look at:
> http://developer.postgresql.org/docs/postgres/routine-vacuuming.html#AUTOVACUUM
> There will be a way to have per table settings in 8.2, though the interface
> for setting things up is klunky.
> I also seem to remember some discussion about having a separate transaction
> for each table being cleaned as a new feature.
Hmm, actually a separate transaction is being used for each table since
about forever.
What's new in 8.2 is the ability to ignore other long-running vacuums.
(I think it will help Joel, in that vacuuming the archival tables will
not stop dead tuples from being dropped from the "OLTP tables", though
long-running SELECTs on the OLAP tables will continue to do so.)
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.