Re: Rollover of tables? - Mailing list pgsql-general

From Jeff Hoffmann
Subject Re: Rollover of tables?
Date
Msg-id 392EB9E1.295095E5@propertykey.com
Whole thread Raw
In response to Rollover of tables?  (Steve Wampler <swampler@noao.edu>)
List pgsql-general
Steve Wampler wrote:

> I can see two easy approaches (feel free to suggest better ones!):
>
> (a) rename the table as an 'archive' log table and then recreate the
>     'active' log table.
>
> (b) extract the old log information into an archive table,
>     removing it from the original
>

> I like (b), personally, but would like to know if anyone
> sees any "gotcha's", especially w.r.t. postgresql as the
> database system.
>

if you vacuum on a regular basis, (b) shouldn't be a problem.  right
now, postgres won't reuse the deleted pages unless you vacuum it.  your
table will balloon until you do a vacuum.  ideally you should be able to
do (a) in a transaction, but i'd have some concern if table
renaming/creation is in fact isolated in the transaction.

if you're worried about having the table unavailable, though (even for a
split second), i don't know if either one would work well for you if
you're needing to update the table during a vacuum.  you may want to
approach it in the application where you have the application log to
tables named for the date or week # (e.g., log_20000526).  you can then
play with the log files at your leisure.

jeff

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Speed of locating tables?
Next
From: felix@crowfix.com
Date:
Subject: Re: createdb -- alternate locations