Commit 57e08471 authored by Tom Lane's avatar Tom Lane

Change default commit_delay to zero, update documentation.

parent 33cc5d8a
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.1 2001/01/24 23:15:19 petere Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.2 2001/02/18 04:50:43 tgl Exp $ -->
<chapter id="wal"> <chapter id="wal">
<title>Write-Ahead Logging (<acronym>WAL</acronym>)</title> <title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
...@@ -290,15 +290,15 @@ ...@@ -290,15 +290,15 @@
</para> </para>
<para> <para>
The <varname>COMMIT_DELAY</varname> parameter defines for how long The <varname>COMMIT_DELAY</varname> parameter defines for how many
the backend will be forced to sleep after writing a commit record microseconds the backend will sleep after writing a commit
to the log with <function>LogInsert</function> call but before record to the log with <function>LogInsert</function> but before
performing a <function>LogFlush</function>. This delay allows other performing a <function>LogFlush</function>. This delay allows other
backends to add their commit records to the log so as to have all backends to add their commit records to the log so as to have all
of them flushed with a single log sync. Unfortunately, this of them flushed with a single log sync. Unfortunately, this
mechanism is not fully implemented at release 7.1, so there is at mechanism is not fully implemented at release 7.1, so there is at
present no point in changing this parameter from its default value present usually no benefit to be gained from increasing this parameter
of 5 microseconds. above its default value of zero.
</para> </para>
</sect1> </sect1>
</chapter> </chapter>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.96 2001/01/24 19:42:51 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.97 2001/02/18 04:50:43 tgl Exp $
* *
* NOTES * NOTES
* Transaction aborts can now occur two ways: * Transaction aborts can now occur two ways:
...@@ -221,7 +221,7 @@ int XactIsoLevel; ...@@ -221,7 +221,7 @@ int XactIsoLevel;
#include "access/xlogutils.h" #include "access/xlogutils.h"
int CommitDelay = 5; /* 1/200000 sec */ int CommitDelay = 0; /* in microseconds */
static void (*_RollbackFunc)(void*) = NULL; static void (*_RollbackFunc)(void*) = NULL;
static void *_RollbackData = NULL; static void *_RollbackData = NULL;
...@@ -667,7 +667,6 @@ RecordTransactionCommit() ...@@ -667,7 +667,6 @@ RecordTransactionCommit()
{ {
XLogRecData rdata; XLogRecData rdata;
xl_xact_commit xlrec; xl_xact_commit xlrec;
struct timeval delay;
XLogRecPtr recptr; XLogRecPtr recptr;
BufmgrCommit(); BufmgrCommit();
...@@ -686,11 +685,20 @@ RecordTransactionCommit() ...@@ -686,11 +685,20 @@ RecordTransactionCommit()
/* /*
* Sleep before commit! So we can flush more than one * Sleep before commit! So we can flush more than one
* commit records per single fsync. * commit records per single fsync. (The idea is some other
* backend may do the XLogFlush while we're sleeping. This
* needs work however, because on most Unixen, the minimum
* select() delay is 10msec or more, which is way too long.)
*/ */
delay.tv_sec = 0; if (CommitDelay > 0)
delay.tv_usec = CommitDelay; {
(void) select(0, NULL, NULL, NULL, &delay); struct timeval delay;
delay.tv_sec = 0;
delay.tv_usec = CommitDelay;
(void) select(0, NULL, NULL, NULL, &delay);
}
XLogFlush(recptr); XLogFlush(recptr);
MyLastRecPtr.xrecoff = 0; MyLastRecPtr.xrecoff = 0;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Support for grand unified configuration scheme, including SET * Support for grand unified configuration scheme, including SET
* command, configuration file, and command line options. * command, configuration file, and command line options.
* *
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.29 2001/02/07 23:36:22 vadim Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.30 2001/02/18 04:50:43 tgl Exp $
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>. * Written by Peter Eisentraut <peter_e@gmx.net>.
...@@ -291,7 +291,7 @@ ConfigureNamesInt[] = ...@@ -291,7 +291,7 @@ ConfigureNamesInt[] =
0, 0, 16}, 0, 0, 16},
{"commit_delay", PGC_USERSET, &CommitDelay, {"commit_delay", PGC_USERSET, &CommitDelay,
5, 0, 1000}, 0, 0, 100000},
{NULL, 0, NULL, 0, 0, 0} {NULL, 0, NULL, 0, 0, 0}
}; };
......
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
#wal_buffers = 8 # min 4 #wal_buffers = 8 # min 4
#wal_files = 0 # range 0-64 #wal_files = 0 # range 0-64
#wal_debug = 0 # range 0-16 #wal_debug = 0 # range 0-16
#commit_delay = 5 # range 0-1000 #commit_delay = 0 # range 0-100000
#checkpoint_timeout = 300 # range 30-1800 #checkpoint_timeout = 300 # range 30-1800
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment