Howto to clear PostgreSQL cache and how to preload all tuples of a table into the cache?

From: Stefan Keller <sfkeller(at)gmail(dot)com>
To: pgsql-general List <pgsql-general(at)postgresql(dot)org>
Subject: Howto to clear PostgreSQL cache and how to preload all tuples of a table into the cache?
Date: 2011-12-12 00:42:32
Message-ID: CAFcOn281ov9DGSPtoKEb0Y5CzgUODz7W7spQefqfBsNzHK3Xjg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-general

I'd like to clear the PostgreSQL cache (e.g. for benchmarking purposes).
And I'd like to preload all tuples of a table (say mytable_one) into the cache.

AFAIK there is no way to force all caches to be cleared in PostgreSQL
with an SQL command.
The only way to achieve this, seems to restart PG (server), which is
neither an option for benchmarking purposes nor for production.

But:
1. Isn't it possible to achieve a kind-of cache clearing (in a
reliable way) by simply doing a "select * from mytable_two" given
mytable_two is at least as large as mytable_one (which is the one we
want to benchmark)?

2. I assume that "select * from mytable_one" loads as much of the
tuples as it can into the cache. Are there better ways for preloading
the contents of a table?

Yours, Stefan

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Johnston 2011-12-12 00:44:23 Re: Denormalizing via SQL
Previous Message Robert James 2011-12-12 00:40:54 Denormalizing via SQL