diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index afb7659af55b5a504ef76b65870824e5fe7602d6..d97e368765da62ba396ad3e43715ec5b3b656070 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.129 2002/08/30 00:28:40 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.130 2002/08/30 16:50:49 momjian Exp $
 -->
 
 <Chapter Id="runtime">
@@ -1949,17 +1949,6 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
       </listitem>
      </varlistentry>
 
-     <varlistentry>
-      <term><varname>WAL_FILES</varname> (<type>integer</type>)</term>
-      <listitem>
-       <para>
-        Number of log files that are created in advance at checkpoint
-        time.  This option can only be set at server start or in the
-	<filename>postgresql.conf</filename> file.
-       </para>
-      </listitem>
-     </varlistentry>
-
      <varlistentry>
       <term><varname>WAL_SYNC_METHOD</varname> (<type>string</type>)</term>
       <listitem>
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
index 5c83b9f1e93a4d33aa00791ee7aa4fd3c6357ae9..0baebb3c093db55aac9db6f1e79aab6e65840ac3 100644
--- a/doc/src/sgml/wal.sgml
+++ b/doc/src/sgml/wal.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.16 2002/07/05 19:06:11 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.17 2002/08/30 16:50:50 momjian Exp $ -->
 
 <chapter id="wal">
  <title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
@@ -276,9 +276,6 @@
    By default a new 16MB segment file is created only if more than 75% of
    the current segment has been used.  This is inadequate if the system
    generates more than 4MB of log output between checkpoints.
-   One can instruct the server to pre-create up to 64 log segments
-   at checkpoint time by modifying the <varname>WAL_FILES</varname>
-   configuration parameter.
   </para>
 
   <para>
@@ -306,20 +303,14 @@
 
   <para>
    The number of 16MB segment files will always be at least
-   <varname>WAL_FILES</varname> + 1, and will normally not exceed
-   <varname>WAL_FILES</varname> + MAX(<varname>WAL_FILES</varname>,
-   <varname>CHECKPOINT_SEGMENTS</varname>) + 1. This may be used to
-   estimate space requirements for WAL. Ordinarily, when an old log
-   segment files are no longer needed, they are recycled (renamed to
-   become the next sequential future segments). If, due to a short-term
-   peak of log output rate, there are more than
-   <varname>WAL_FILES</varname> + MAX(<varname>WAL_FILES</varname>,
-   <varname>CHECKPOINT_SEGMENTS</varname>) + 1 segment files, then
-   unneeded segment files will be deleted instead of recycled until the
-   system gets back under this limit. (If this happens on a regular
-   basis, <varname>WAL_FILES</varname> should be increased to avoid it.
-   Deleting log segments that will only have to be created again later
-   is expensive and pointless.)
+   1, and will normally not exceed <varname>CHECKPOINT_SEGMENTS</varname>)
+   + 1.  This may be used to estimate space requirements for WAL. 
+   Ordinarily, when old log segment files are no longer needed, 
+   they are recycled (renamed to become the next sequential future 
+   segments). If, due to a short-term peak of log output rate, there 
+   are more than <varname>CHECKPOINT_SEGMENTS</varname>) + 1 segment files, 
+   the unneeded segment files will be deleted instead of recycled until the
+   system gets back under this limit.
   </para>
 
   <para>
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index de963ccbd49ff4c906ebfcb8e5da2737943ae2fe..e0b447669e21d62a2f8b46a8aff42004fbe432ba 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.102 2002/08/17 15:12:06 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.103 2002/08/30 16:50:50 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -87,7 +87,6 @@
 /* User-settable parameters */
 int			CheckPointSegments = 3;
 int			XLOGbuffers = 8;
-int			XLOGfiles = 0;		/* # of files to preallocate during ckpt */
 int			XLOG_DEBUG = 0;
 char	   *XLOG_sync_method = NULL;
 const char	XLOG_sync_method_default[] = DEFAULT_SYNC_METHOD_STR;
@@ -97,7 +96,7 @@ char		XLOG_archive_dir[MAXPGPATH];		/* null string means
 /*
  * XLOGfileslop is used in the code as the allowed "fuzz" in the number of
  * preallocated XLOG segments --- we try to have at least XLOGfiles advance
- * segments but no more than XLOGfiles+XLOGfileslop segments.  This could
+ * segments but no more than XLOGfileslop segments.  This could
  * be made a separate GUC variable, but at present I think it's sufficient
  * to hardwire it as 2*CheckPointSegments+1.  Under normal conditions, a
  * checkpoint will free no more than 2*CheckPointSegments log segments, and
@@ -1422,7 +1421,7 @@ XLogFileInit(uint32 log, uint32 seg,
 	 * ours to pre-create a future log segment.
 	 */
 	if (!InstallXLogFileSegment(log, seg, tmppath,
-								*use_existent, XLOGfiles + XLOGfileslop,
+								*use_existent, XLOGfileslop,
 								use_lock))
 	{
 		/* No need for any more future segments... */
@@ -1568,20 +1567,9 @@ PreallocXlogFiles(XLogRecPtr endptr)
 	uint32		_logSeg;
 	int			lf;
 	bool		use_existent;
-	int			i;
 
 	XLByteToPrevSeg(endptr, _logId, _logSeg);
-	if (XLOGfiles > 0)
-	{
-		for (i = 1; i <= XLOGfiles; i++)
-		{
-			NextLogSeg(_logId, _logSeg);
-			use_existent = true;
-			lf = XLogFileInit(_logId, _logSeg, &use_existent, true);
-			close(lf);
-		}
-	}
-	else if ((endptr.xrecoff - 1) % XLogSegSize >=
+	if ((endptr.xrecoff - 1) % XLogSegSize >=
 			 (uint32) (0.75 * XLogSegSize))
 	{
 		NextLogSeg(_logId, _logSeg);
@@ -1635,11 +1623,11 @@ MoveOfflineLogs(uint32 log, uint32 seg, XLogRecPtr endptr)
 				/*
 				 * Before deleting the file, see if it can be recycled as
 				 * a future log segment.  We allow recycling segments up
-				 * to XLOGfiles + XLOGfileslop segments beyond the current
+				 * to XLOGfileslop segments beyond the current
 				 * XLOG location.
 				 */
 				if (InstallXLogFileSegment(endlogId, endlogSeg, path,
-										   true, XLOGfiles + XLOGfileslop,
+										   true, XLOGfileslop,
 										   true))
 				{
 					elog(LOG, "recycled transaction log file %s",
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index e88882def408f2e5467382e11b8889fee7ddcfeb..e394e2cd872a51fb87421429f13e193d6598dc7f 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -5,7 +5,7 @@
  * command, configuration file, and command line options.
  * See src/backend/utils/misc/README for more information.
  *
- * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.87 2002/08/29 21:02:12 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.88 2002/08/30 16:50:50 momjian Exp $
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  * Written by Peter Eisentraut <peter_e@gmx.net>.
@@ -640,11 +640,6 @@ static struct config_int
 		8, 4, INT_MAX, NULL, NULL
 	},
 
-	{
-		{ "wal_files", PGC_SIGHUP }, &XLOGfiles,
-		0, 0, 64, NULL, NULL
-	},
-
 	{
 		{ "wal_debug", PGC_SUSET }, &XLOG_DEBUG,
 		0, 0, 16, NULL, NULL
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h
index d249df47b6e9adb37a5df32cfb1323de32d56a2f..bc7d82fa1dc2385c311e4a833d5f371df200b834 100644
--- a/src/include/access/xlog.h
+++ b/src/include/access/xlog.h
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: xlog.h,v 1.35 2002/08/17 15:12:07 momjian Exp $
+ * $Id: xlog.h,v 1.36 2002/08/30 16:50:50 momjian Exp $
  */
 #ifndef XLOG_H
 #define XLOG_H
@@ -185,7 +185,6 @@ extern XLogRecPtr ProcLastRecEnd;
 /* these variables are GUC parameters related to XLOG */
 extern int	CheckPointSegments;
 extern int	XLOGbuffers;
-extern int	XLOGfiles;
 extern int	XLOG_DEBUG;
 extern char *XLOG_sync_method;
 extern const char XLOG_sync_method_default[];