Thread: pgsql: Reduce checkpoints and WAL traffic on low activity database serv
Reduce checkpoints and WAL traffic on low activity database server Previously, we skipped a checkpoint if no WAL had been written since last checkpoint, though this does not appear in user documentation. As of now, we skip a checkpoint until we have written at least one enough WAL to switch the next WAL file. This greatly reduces the level of activity and number of WAL messages generated by a very low activity server. This is safe because the purpose of a checkpoint is to act as a starting place for a recovery, in case of crash. This patch maintains minimal WAL volume for replay in case of crash, thus maintaining very low crash recovery time. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/18fb9d8d21a28caddb72c7ffbdd7b96d52ff9724 Modified Files -------------- src/backend/access/transam/xlog.c | 28 +++++++++++++++------------- 1 files changed, 15 insertions(+), 13 deletions(-)
On Wed, Nov 2, 2011 at 11:39 AM, Simon Riggs <simon@2ndquadrant.com> wrote: > Reduce checkpoints and WAL traffic on low activity database server > Previously, we skipped a checkpoint if no WAL had been written since > last checkpoint, though this does not appear in user documentation. > As of now, we skip a checkpoint until we have written at least one > enough WAL to switch the next WAL file. This greatly reduces the > level of activity and number of WAL messages generated by a very > low activity server. This is safe because the purpose of a checkpoint > is to act as a starting place for a recovery, in case of crash. > This patch maintains minimal WAL volume for replay in case of crash, > thus maintaining very low crash recovery time. I think you need to update the docs, for checkpoint_timeout if nothing else. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On Wed, Nov 2, 2011 at 4:15 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Wed, Nov 2, 2011 at 11:39 AM, Simon Riggs <simon@2ndquadrant.com> wrote: >> Reduce checkpoints and WAL traffic on low activity database server >> Previously, we skipped a checkpoint if no WAL had been written since >> last checkpoint, though this does not appear in user documentation. >> As of now, we skip a checkpoint until we have written at least one >> enough WAL to switch the next WAL file. This greatly reduces the >> level of activity and number of WAL messages generated by a very >> low activity server. This is safe because the purpose of a checkpoint >> is to act as a starting place for a recovery, in case of crash. >> This patch maintains minimal WAL volume for replay in case of crash, >> thus maintaining very low crash recovery time. > > I think you need to update the docs, for checkpoint_timeout if nothing else. Checkpoints have always been skipped, if no activity. So the docs don't need changing. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services