On Sun, 2007-06-17 at 12:00 +0100, Heikki Linnakangas wrote: > Simon Riggs wrote: > > On Sun, 2007-06-17 at 08:51 +0100, Heikki Linnakangas wrote: > >>> Do we need to know it so exactly that we look > >>> at WALInsertLock? Maybe use info_lck to request the latest page, since > >>> that is less heavily contended and we need never wait across I/O. > >> Is there such a value available, that's protected by just info_lck? I > >> can't see one. > > > > XLogCtl->LogwrtRqst.Write > > That's the Write location. checkpoint_segments is calculated against the > Insert location. In a normal OLTP scenario they would be close to each > other, but if you're doing a huge data load in a transaction; restoring > from backup for example, they could be really far apart.
XLogCtl->LogwrtRqst.Write is updated every time we insert an xlog record that advances to a new page. It isn't exactly up to date, but it lags behind by no more than a page. LogwrtRqst and LogwrtResult may differ substantially in the situation you mention. -- Simon Riggs EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly