Re: Get a list of ALL tables

From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: Kevin Kempter <kevin(at)kevinkempterllc(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Get a list of ALL tables
Date: 2007-11-20 01:55:47
Message-ID: 47423EA3.8000100@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Kevin Kempter wrote:
> Sorry, I meant to send this to the list:
>
>
> We have a handful of tables that are quite large and take several hours to
> vacuum. We're managing these large tables by using cron via a schedule that
> accounts for system load. I want to pull the list of all tables and exclude
> these large tables from the list, then run the vacuum on the remaining tables
> once a week to avoid transaction ID wraparound failures.

If I were you, I would use autovacuum for all tables *except* the high
velocity tables. That will take care of the wrap concerns and will also
allow you to be aggressive via cron on the tables that autovacuum isn't
good enough for.

Oh... and get up to 8.1.10

Joshua D. Drake

>
>
> /Kevin
>
>
>
>
>> Kevin Kempter <kevin(at)kevinkempterllc(dot)com> writes:
>>> I'm working with a client with several highly active 8.1.4 servers. I
>>> want to run a weekly cron that will vacuum ALL db tables except those
>>> with entries in pg_autovacuum (where we've setup manual/cron vacuums) in
>>> order to eliminate transaction ID wraparound failure warnings (which
>>> comes up fairly often).
>>>
>>> My question is:
>>> will a select from pg_tables for each database in the cluster provide me
>>> with a full table listing for the purposes of ensuring that all tables in
>>> the db have been vacuumed or are there others I'll need to account for as
>>> well ?
>> Why are you insisting on inventing your own wheel for this, when
>> "vacuum" without a parameter does that just fine?
>>
>> regards, tom lane
>
>
>
>
> On Monday 19 November 2007 16:29:15 you wrote:
>> Kevin Kempter <kevin(at)kevinkempterllc(dot)com> writes:
>>> I'm working with a client with several highly active 8.1.4 servers. I
>>> want to run a weekly cron that will vacuum ALL db tables except those
>>> with entries in pg_autovacuum (where we've setup manual/cron vacuums) in
>>> order to eliminate transaction ID wraparound failure warnings (which
>>> comes up fairly often).
>>>
>>> My question is:
>>> will a select from pg_tables for each database in the cluster provide me
>>> with a full table listing for the purposes of ensuring that all tables in
>>> the db have been vacuumed or are there others I'll need to account for as
>>> well ?
>> Why are you insisting on inventing your own wheel for this, when
>> "vacuum" without a parameter does that just fine?
>>
>> regards, tom lane
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Alvaro Herrera 2007-11-20 10:30:20 Re: Get a list of ALL tables
Previous Message adey 2007-11-20 00:26:23 Re: Get a list of ALL tables