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.