mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
pg_prewarm: Add automatic prewarm feature.
Periodically while the server is running, and at shutdown, write out a list of blocks in shared buffers. When the server reaches consistency -- unfortunatey, we can't do it before that point without breaking things -- reload those blocks into any still-unused shared buffers. Mithun Cy and Robert Haas, reviewed and tested by Beena Emerson, Amit Kapila, Jim Nasby, and Rafia Sabih. Discussion: http://postgr.es/m/CAD__OugubOs1Vy7kgF6xTjmEqTR4CrGAv8w+ZbaY_+MZeitukw@mail.gmail.com
This commit is contained in:
@@ -168,6 +168,23 @@ ClockSweepTick(void)
|
||||
return victim;
|
||||
}
|
||||
|
||||
/*
|
||||
* have_free_buffer -- a lockless check to see if there is a free buffer in
|
||||
* buffer pool.
|
||||
*
|
||||
* If the result is true that will become stale once free buffers are moved out
|
||||
* by other operations, so the caller who strictly want to use a free buffer
|
||||
* should not call this.
|
||||
*/
|
||||
bool
|
||||
have_free_buffer()
|
||||
{
|
||||
if (StrategyControl->firstFreeBuffer >= 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* StrategyGetBuffer
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user