Simon Riggs <[EMAIL PROTECTED]> writes: >> Revised patch enclosed, now believed to be production ready. This >> implements regular log switching using the archive_timeout GUC.
> Further patch enclosed implementing these changes plus the record type > version of pg_xlogfile_name_offset() Applied with minor changes --- it seemed better to me to put tracking of the last xlog switch time directly into xlog.c, instead of having the bgwriter code try to determine whether a switch had happened recently. I noticed a minor annoyance while testing: when the system is completely idle, you get a forced segment switch every checkpoint_timeout seconds, even though there is nothing useful to log. The checkpoint code is smart enough not to do a checkpoint if nothing has happened since the last one, and the xlog switch code is smart enough not to do a switch if nothing has happened since the last one ... but they aren't talking to each other and so each one's change looks like "something happened" to the other one. I'm not sure how much trouble it's worth taking to prevent this scenario, though. If you can't afford a WAL file switch every five minutes, you probably shouldn't be using archive_timeout anyway ... regards, tom lane ---------------------------(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