Re: Defer Committing Updates on High-Activity Table - Mailing list pgsql-admin

From Tom Lane
Subject Re: Defer Committing Updates on High-Activity Table
Date
Msg-id 3433.1123097940@sss.pgh.pa.us
Whole thread Raw
In response to Defer Committing Updates on High-Activity Table  ("Lane Van Ingen" <lvaningen@esncc.com>)
List pgsql-admin
"Lane Van Ingen" <lvaningen@esncc.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

pgsql-admin by date:

Previous
From: Dario Brignardello
Date:
Subject: Re: Blocking connection and timeout problem
Next
From: "Chandra Sekhar Surapaneni"
Date:
Subject: Re: reg:permission for the remote clients