Hello. So, what happens if I set checkpoint_segments and checkpoint_timeout very high, and, shared_buffers to a very low value? Will PostgreSQL force a checkpoint when it has not enough memory in shared_buffers for some new "un-checkpointed" data ? On Fri, 12 Jan 2007 10:49:04 -0300 Alvaro Herrera <alvherre@xxxxxxxxxxxxxxxxx> wrote: > Evgeny Gridasov wrote: > > Hello. > > > > Lets's imagine a sequence in time: > > (1) Some transactions commit data (simple table inserts/updates). > > (2) I get data from a table using select. > > (3) A CHECKPOINT occurs, data from pg_xlog is copied to actual table data files. > > > > Questions: > > > > Where does PostgreSQL read data during (2) process? > > Shared buffers, which means that data that's not in memory is read from > disk, and data that is in memory is read from there. A checkpoint > evicts stuff from shared buffers to disk. > > > Would it scan both pg_xlog(for committed data that dind't pass > > CHECKPOINT) and table data files? > > pg_xlog is not read except in crash recovery. > > > What happens if an index could be used? > > Same thing. > > -- > Alvaro Herrera http://www.CommandPrompt.com/ > The PostgreSQL Company - Command Prompt, Inc. >