Re: Defer Committing Updates on High-Activity Table

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Lane Van Ingen" <lvaningen(at)esncc(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Defer Committing Updates on High-Activity Table
Date: 2005-08-03 19:39:00
Message-ID: 3433.1123097940@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

"Lane Van Ingen" <lvaningen(at)esncc(dot)com> writes:
> I have a situation where I have a temporary table (because of how it is
> being used) that creates a lot of (legitimate) I/O activity. The table
> contains information which is transient and tends to stay in shared buffers
> because of frequency of use, and it is only necessary to commit the changes
> to disk every hour or so (mainly for backup purposes).

If it's actually a temp table, then the data isn't in shared buffers;
it's kept in backend-local buffers, and isn't written to disk at all
unless the backend needs to evict a page from those buffers to make
room for more temp data.

What you probably really need is to enlarge the number of buffers
available for temp-table data. This number is user-configurable
as of Postgres 8.1, but unfortunately is hard-wired at a pretty
small value in existing releases. If you're desperate you could
try increasing NLocBuffer in src/backend/storage/buffer/localbuf.c,
but I'm not sure how well that will work --- the pre-8.1 code is
not designed to perform well with large values of NLocBuffer.

regards, tom lane

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Chandra Sekhar Surapaneni 2005-08-03 21:24:48 Re: reg:permission for the remote clients
Previous Message Dario Brignardello 2005-08-03 18:50:38 Re: Blocking connection and timeout problem