Re: pg_prewarm
Hans-Jürgen Schönig <postgres@cybertec.at>
From: Hans-Jürgen Schönig <postgres@cybertec.at>
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-03-09T10:42:54Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pgstattuple: Use a BufferAccessStrategy object to avoid cache-trashing.
- 2e46bf671145 9.2.0 cited
we had some different idea here in the past: what if we had a procedure / method to allow people to save the list of current buffers / cached blocks to be written to disk (sorted). we could then reload this "cache profile" on startup in the background or people could load a certain cache content at runtime (maybe to test or whatever). writing those block ids in sorted order would help us to avoid some random I/O on reload. regards, hans On Mar 9, 2012, at 5:13 AM, Robert Haas wrote: > It's been bugging me for a while now that we don't have a prewarming > utility, for a couple of reasons, including: > > 1. Our customers look at me funny when I suggest that they use > pg_relation_filepath() and /bin/dd for this purpose. > > 2. Sometimes when I'm benchmarking stuff, I want to get all the data > cached in shared_buffers. This is surprisingly hard to do if the size > of any relation involved is >=1/4 of shared buffers, because the > BAS_BULKREAD stuff kicks in. You can do it by repeatedly seq-scanning > the relation - eventually all the blocks trickle in - but it takes a > long time, and that's annoying. > > So I wrote a prewarming utility. Patch is attached. You can prewarm > either the OS cache or PostgreSQL's cache, and there are two options > for prewarming the OS cache to meet different needs. By passing the > correct arguments to the function, you can prewarm an entire relation > or just the blocks you choose; prewarming of blocks from alternate > relation forks is also supported, for completeness. > > Hope you like it. > > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > <pg_prewarm_v1.patch> > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers -- Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt Web: http://www.postgresql-support.de