| 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: | Whole Thread | Raw Message | 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 |