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
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 |