Re: Some vacuum & tuning help

From: Christopher Browne <cbbrowne(at)libertyrms(dot)info>
To: "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Some vacuum & tuning help
Date: 2003-08-05 21:40:16
Message-ID: 60d6fjhjgf.fsf@dev6.int.libertyrms.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Matthew T. O'Connor wrote:
> Fair point, my only concern is that a backend integrated
> pg_autovacuum would be radically different from the current libpq
> based client application.

Unfortunately, a "configurable-via-tables" pg_autovacuum is also going
to be quite different from the current "unconfigurable" version.

If we were to make it configurable, I would suggest doing so via
specifying a database and schema into which it would then insert a set
of tables to provide whatever information was considered worth
'fiddling' with.

But at that point, it makes sense to add in quite a bit of
"configurable" behaviour, such as:

-> Specifying that certain tables should _never_ be automatically
vacuumed.

-> Establishing a "queue" of tables that pg_autovacuum plans to
vacuum, so that users could add in desired vacuums ("after the
other stuff being handled, force in a vacuum of app_table_foo").
That way, vacuums can be 'forced in' without introducing the
possibility that multiple vacuums might be done at once...

-> Making information about what vacuums have been done/planned
persistent across runs of pg_autovacuum, and even across
shutdowns of the DBMS.

This changes behaviour enough that I'm not sure it's the same
"program" as the unconfigurable version. Almost every option would be
substantially affected by the logic:

if (CONFIG_DATA_IN_DB) {
/* Logic path that uses data in Vacuum Schema */
} else {
/* More banal logic */
}

If I can store configuration in the database, then I'd like to also
make up a view or two, and possibly even base the logic used on views
that combine configuration tables with system views. In effect, that
makes for a _third_ radically different option.
--
output = reverse("ofni.smrytrebil" "@" "enworbbc")
<http://dev6.int.libertyrms.com/>
Christopher Browne
(416) 646 3304 x124 (land)

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Sean Chittenden 2003-08-05 22:26:09 Re: Moving postgresql.conf tunables into 2003...
Previous Message Medora Schauer 2003-08-05 18:18:29 Re: Odd performance results - more info