Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-admin by date

Next:From: Alvaro HerreraDate: 2007-11-20 10:30:20
Subject: Re: Get a list of ALL tables
Previous:From: adeyDate: 2007-11-20 00:26:23
Subject: Re: Get a list of ALL tables

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group