diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index fbe61e5691c47a231bf35476c368ca8beb9437ce..de963ccbd49ff4c906ebfcb8e5da2737943ae2fe 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.101 2002/08/06 02:36:33 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.102 2002/08/17 15:12:06 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -398,8 +398,7 @@ static ControlFileData *ControlFile = NULL;
 
 
 /* File path names */
-char *XLogDir = NULL;
-
+static char XLogDir[MAXPGPATH];
 static char ControlFilePath[MAXPGPATH];
 
 /*
@@ -2075,29 +2074,11 @@ ValidXLOGHeader(XLogPageHeader hdr, int emode, bool checkSUI)
  * I/O and compatibility-check functions, but there seems no need currently.
  */
 
-void
-SetXLogDir(char *path)
-{
-	char *xsubdir = "/pg_xlog";
-
-	if (path != NULL)
-	{
-		XLogDir = malloc(strlen(path)+1);
-		strcpy(XLogDir, path);
-	}
-	else
-	{
-		XLogDir = malloc(strlen(DataDir)+strlen(xsubdir)+1);
-		snprintf(XLogDir, MAXPGPATH, "%s%s", DataDir, xsubdir);
-	}
-}
-
 void
 XLOGPathInit(void)
 {
 	/* Init XLOG file paths */
-	if (XLogDir == NULL)
-		SetXLogDir(NULL);
+	snprintf(XLogDir, MAXPGPATH, "%s/pg_xlog", DataDir);
 	snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir);
 }
 
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index d2afa647688b2b5c36777239d452533e5f41a552..ae4a86d1d4298d7496af783a549252de4f686c32 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.137 2002/08/10 20:29:17 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.138 2002/08/17 15:12:06 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -222,7 +222,6 @@ BootstrapMain(int argc, char *argv[])
 	int			flag;
 	int			xlogop = BS_XLOG_NOP;
 	char	   *potential_DataDir = NULL;
-	char	   *potential_XLogDir = NULL;
 
 	/*
 	 * initialize globals
@@ -249,22 +248,17 @@ BootstrapMain(int argc, char *argv[])
 	if (!IsUnderPostmaster)
 	{
 		InitializeGUCOptions();
-		/* Null if no PGDATA variable */
-		potential_DataDir = getenv("PGDATA");
-		/* Null if no PGXLOG variable */
-		potential_XLogDir = getenv("PGXLOG");
+		potential_DataDir = getenv("PGDATA");	/* Null if no PGDATA
+												 * variable */
 	}
 
-	while ((flag = getopt(argc, argv, "B:d:D:X:Fo:px:")) != -1)
+	while ((flag = getopt(argc, argv, "B:d:D:Fo:px:")) != -1)
 	{
 		switch (flag)
 		{
 			case 'D':
 				potential_DataDir = optarg;
 				break;
-			case 'X':
-				potential_XLogDir = optarg;
-				break;
 			case 'd':
 			{
 				/* Turn on debugging for the bootstrap process. */
@@ -319,7 +313,6 @@ BootstrapMain(int argc, char *argv[])
 			proc_exit(1);
 		}
 		SetDataDir(potential_DataDir);
-		SetXLogDir(potential_XLogDir);
 	}
 
 	/* Validate we have been given a reasonable-looking DataDir */
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 1c70c4f0ecd7a0ef759143a100a582ed44795c56..f67a8b64a349067d7bd6bcd5890d5e4d6520c7ce 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.283 2002/08/10 20:29:18 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.284 2002/08/17 15:12:06 momjian Exp $
  *
  * NOTES
  *
@@ -346,7 +346,6 @@ PostmasterMain(int argc, char *argv[])
 	int			status;
 	char		original_extraoptions[MAXPGPATH];
 	char	   *potential_DataDir = NULL;
-	char	   *potential_XLogDir = NULL;
 
 	*original_extraoptions = '\0';
 
@@ -404,11 +403,10 @@ PostmasterMain(int argc, char *argv[])
 	InitializeGUCOptions();
 
 	potential_DataDir = getenv("PGDATA");		/* default value */
-	potential_XLogDir = getenv("PGXLOG");		/* default value */
 
 	opterr = 1;
 
-	while ((opt = getopt(argc, argv, "A:a:B:b:c:D:X:d:Fh:ik:lm:MN:no:p:Ss-:")) != -1)
+	while ((opt = getopt(argc, argv, "A:a:B:b:c:D:d:Fh:ik:lm:MN:no:p:Ss-:")) != -1)
 	{
 		switch (opt)
 		{
@@ -431,9 +429,6 @@ PostmasterMain(int argc, char *argv[])
 			case 'D':
 				potential_DataDir = optarg;
 				break;
-			case 'X':
-				potential_XLogDir = optarg;
-				break;
 			case 'd':
 			{
 				/* Turn on debugging for the postmaster. */
@@ -568,7 +563,6 @@ PostmasterMain(int argc, char *argv[])
 
 	checkDataDir(potential_DataDir);	/* issues error messages */
 	SetDataDir(potential_DataDir);
-	SetXLogDir(potential_XLogDir);
 
 	ProcessConfigFile(PGC_POSTMASTER);
 
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 5c0a07bfaa9fff315d9883803bca6846c9f14b27..605f44ba70b9f7ac9c5a50f598219f407f4341e8 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.282 2002/08/15 16:36:05 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.283 2002/08/17 15:12:07 momjian Exp $
  *
  * NOTES
  *	  this is the "main" module of the postgres backend and
@@ -1120,7 +1120,6 @@ PostgresMain(int argc, char *argv[], const char *username)
 	StringInfo	parser_input;
 
 	char	   *potential_DataDir = NULL;
-	char	   *potential_XLogDir = NULL;
 
 	/*
 	 * Catch standard options before doing much else.  This even works on
@@ -1164,7 +1163,6 @@ PostgresMain(int argc, char *argv[], const char *username)
 	{
 		InitializeGUCOptions();
 		potential_DataDir = getenv("PGDATA");
-		potential_XLogDir = getenv("PGXLOG");
 	}
 
 	/* ----------------
@@ -1189,7 +1187,7 @@ PostgresMain(int argc, char *argv[], const char *username)
 	ctx = PGC_POSTMASTER;
 	gucsource = PGC_S_ARGV;		/* initial switches came from command line */
 
-	while ((flag = getopt(argc, argv, "A:B:c:CD:X:d:Eef:FiNOPo:p:S:st:v:W:x:-:")) != -1)
+	while ((flag = getopt(argc, argv, "A:B:c:CD:d:Eef:FiNOPo:p:S:st:v:W:x:-:")) != -1)
 		switch (flag)
 		{
 			case 'A':
@@ -1221,11 +1219,6 @@ PostgresMain(int argc, char *argv[], const char *username)
 					potential_DataDir = optarg;
 				break;
 
-			case 'X':			/* PGXLOG directory */
-				if (secure)
-					potential_XLogDir = optarg;
-				break;
-
 			case 'd':			/* debug level */
 				{
 					/* Set server debugging level. */
@@ -1517,7 +1510,6 @@ PostgresMain(int argc, char *argv[], const char *username)
 			proc_exit(1);
 		}
 		SetDataDir(potential_DataDir);
-		SetXLogDir(potential_XLogDir);
 	}
 	Assert(DataDir);
 
@@ -1674,7 +1666,7 @@ PostgresMain(int argc, char *argv[], const char *username)
 	if (!IsUnderPostmaster)
 	{
 		puts("\nPOSTGRES backend interactive interface ");
-		puts("$Revision: 1.282 $ $Date: 2002/08/15 16:36:05 $\n");
+		puts("$Revision: 1.283 $ $Date: 2002/08/17 15:12:07 $\n");
 	}
 
 	/*
diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh
index 37249c1f79c0eac0d0183211ed1d7cd68c931eea..f361d0ace75e4a0caf0283d10f42087c1b815d01 100644
--- a/src/bin/initdb/initdb.sh
+++ b/src/bin/initdb/initdb.sh
@@ -27,7 +27,7 @@
 # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.167 2002/08/17 13:04:15 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.168 2002/08/17 15:12:07 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -252,19 +252,6 @@ do
         -D*)
                 PGDATA=`echo $1 | sed 's/^-D//'`
                 ;;
-# Directory to hold WAL log files.
-        --pgxlog|-X)
-                PGXLOG="$2"
-                defined_pgxlog=yes
-                shift;;
-        --pgxlog=*)
-                PGXLOG=`echo $1 | sed 's/^--pgxlog=//'`
-                defined_pgxlog=yes
-                ;;
-        -X*)
-                PGXLOG=`echo $1 | sed 's/^-X//'`
-                defined_pgxlog=yes
-                ;;
 # The directory where the .bki input files are stored. Normally
 # they are in PREFIX/share and this option should be unnecessary.
         -L)
@@ -354,7 +341,6 @@ if [ "$usage" ]; then
     echo
     echo "Options:"
     echo " [-D, --pgdata] DATADIR       Location for this database cluster"
-    echo " [-X, --pgxlog] XLOGDIR       Location for the cluster transaction logs"
     echo "  -W, --pwprompt              Prompt for a password for the new superuser"
     if [ -n "$MULTIBYTE" ] ; then 
         echo "  -E, --encoding ENCODING     Set default encoding for new databases"
@@ -415,11 +401,6 @@ then
     exit 1
 fi
 
-if [ -z "$PGXLOG" ]
-then
-    PGXLOG="$PGDATA"/pg_xlog
-fi
-
 
 #-------------------------------------------------------------------------
 # Find the input files
@@ -437,7 +418,7 @@ then
   (
     echo
     echo "initdb variables:"
-    for var in PGDATA PGXLOG datadir PGPATH MULTIBYTE MULTIBYTEID \
+    for var in PGDATA datadir PGPATH MULTIBYTE MULTIBYTEID \
         POSTGRES_SUPERUSERNAME POSTGRES_BKI \
         POSTGRES_DESCR POSTGRESQL_CONF_SAMPLE \
 	PG_HBA_SAMPLE PG_IDENT_SAMPLE ; do
@@ -522,61 +503,44 @@ then
       echo "$CMDNAME: The directory $PGDATA exists but is not empty."
       echo "If you want to create a new database system, either remove or empty"
       echo "the directory $PGDATA or run initdb with"
-      echo "an argument for -D other than $PGDATA."
+      echo "an argument other than $PGDATA."
     ) 1>&2
     exit 1
-fi
-
-# find out if transaction log directory is empty
-pgxlog_contents=`ls -A "$PGXLOG" 2>/dev/null`
-if [ x"$pgxlog_contents" != x ]
-then
-    (
-      echo "$CMDNAME: The directory $PGXLOG exists but is not empty."
-      echo "If you want to create a new transaction log, either remove or empty"
-      echo "the directory $PGXLOG or run initdb with"
-      echo "an argument for -X other than $PGXLOG."
-    ) 1>&2
-    exit 1
-fi
-
-if [ ! -d "$PGDATA" ]; then
-    $ECHO_N "creating directory $PGDATA... "$ECHO_C
-    mkdir -p "$PGDATA" >/dev/null 2>&1 || mkdir "$PGDATA" || exit_nicely
-    made_new_pgdata=yes
-else
-    $ECHO_N "Fixing permissions on existing directory $PGDATA... "$ECHO_C
-chmod go-rwx "$PGDATA" || exit_nicely
-fi
-echo "ok"
-
-if [ ! -d "$PGXLOG" ]; then
-    $ECHO_N "creating directory $PGXLOG... "$ECHO_C
-    mkdir -p "$PGXLOG" >/dev/null 2>&1 || mkdir "$PGXLOG" || exit_nicely
-    made_new_pgxlog=yes
 else
-    $ECHO_N "Fixing permissions on existing directory $PGXLOG... "$ECHO_C
-chmod go-rwx "$PGXLOG" || exit_nicely
-fi
-echo "ok"
+    if [ ! -d "$PGDATA" ]; then
+        $ECHO_N "creating directory $PGDATA... "$ECHO_C
+        mkdir -p "$PGDATA" >/dev/null 2>&1 || mkdir "$PGDATA" || exit_nicely
+        made_new_pgdata=yes
+    else
+        $ECHO_N "Fixing permissions on existing directory $PGDATA... "$ECHO_C
+	chmod go-rwx "$PGDATA" || exit_nicely
+    fi
+    echo "ok"
 
-if [ ! -d "$PGDATA"/base ]
-then
-    $ECHO_N "creating directory $PGDATA/base... "$ECHO_C
-    mkdir "$PGDATA"/base || exit_nicely
-echo "ok"
-fi
-if [ ! -d "$PGDATA"/global ]
-then
-    $ECHO_N "creating directory $PGDATA/global... "$ECHO_C
-    mkdir "$PGDATA"/global || exit_nicely
-echo "ok"
-fi
-if [ ! -d "$PGDATA"/pg_clog ]
-then
-    $ECHO_N "creating directory $PGDATA/pg_clog... "$ECHO_C
-    mkdir "$PGDATA"/pg_clog || exit_nicely
-echo "ok"
+    if [ ! -d "$PGDATA"/base ]
+	then
+        $ECHO_N "creating directory $PGDATA/base... "$ECHO_C
+        mkdir "$PGDATA"/base || exit_nicely
+	echo "ok"
+    fi
+    if [ ! -d "$PGDATA"/global ]
+    then
+        $ECHO_N "creating directory $PGDATA/global... "$ECHO_C
+        mkdir "$PGDATA"/global || exit_nicely
+	echo "ok"
+    fi
+    if [ ! -d "$PGDATA"/pg_xlog ]
+    then
+        $ECHO_N "creating directory $PGDATA/pg_xlog... "$ECHO_C
+        mkdir "$PGDATA"/pg_xlog || exit_nicely
+	echo "ok"
+    fi
+    if [ ! -d "$PGDATA"/pg_clog ]
+    then
+        $ECHO_N "creating directory $PGDATA/pg_clog... "$ECHO_C
+        mkdir "$PGDATA"/pg_clog || exit_nicely
+	echo "ok"
+    fi
 fi
 
 
@@ -585,7 +549,7 @@ fi
 # RUN BKI SCRIPT IN BOOTSTRAP MODE TO CREATE TEMPLATE1
 
 # common backend options
-PGSQL_OPT="-F -D$PGDATA -X$PGXLOG"
+PGSQL_OPT="-F -D$PGDATA"
 
 if [ "$debug" = yes ]
 then
@@ -1130,24 +1094,14 @@ echo "ok"
 #
 # FINISHED
 
-postmaster_startup="$PGPATH/postmaster -D $PGDATA"
-if [ x"$defined_pgxlog" != x ]; then
-    postmaster_startup="$postmaster_startup -X $PGXLOG"
-fi
-pg_ctl_startup="$PGPATH/pg_ctl -D $PGDATA"
-if [ x"$defined_pgxlog" != x ]; then
-    pg_ctl_startup="$pg_ctl_startup -X $PGXLOG"
-fi
-pg_ctl_startup="$pg_ctl_startup -l logfile start"
-
 echo
 echo "Success. You can now start the database server using:"
 echo ""
-echo "    $postmaster_startup"
+echo "    $PGPATH/postmaster -D $PGDATA"
 echo "or"
 # (Advertise -l option here, otherwise we have a background
 #  process writing to the terminal.)
-echo "    $pg_ctl_startup"
+echo "    $PGPATH/pg_ctl -D $PGDATA -l logfile start"
 echo
 
 exit 0
diff --git a/src/bin/pg_ctl/pg_ctl.sh b/src/bin/pg_ctl/pg_ctl.sh
index 28459274d6c67dca1dddcf7639cc50e25aa6204e..467c56774f4c9525e8a7d4e8305952642ad45238 100755
--- a/src/bin/pg_ctl/pg_ctl.sh
+++ b/src/bin/pg_ctl/pg_ctl.sh
@@ -8,7 +8,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.28 2002/08/04 06:26:38 thomas Exp $
+#    $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.29 2002/08/17 15:12:07 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -19,23 +19,20 @@ $CMDNAME is a utility to start, stop, restart, reload configuration files,
 or report the status of a PostgreSQL server.
 
 Usage:
-  $CMDNAME start   [-w] [-D DATADIR] [-s] [-X PGXLOG] [-l FILENAME] [-o \"OPTIONS\"]
+  $CMDNAME start   [-w] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]
   $CMDNAME stop    [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
-  $CMDNAME restart [-w] [-D DATADIR] [-s] [-X PGXLOG] [-m SHUTDOWN-MODE] [-o \"OPTIONS\"]
+  $CMDNAME restart [-w] [-D DATADIR] [-s] [-m SHUTDOWN-MODE] [-o \"OPTIONS\"]
   $CMDNAME reload  [-D DATADIR] [-s]
   $CMDNAME status  [-D DATADIR]
 
 Common options:
   -D DATADIR            Location of the database storage area
-  -X XLOGDIR            Location of the WAL log file storage area
   -s                    Only print errors, no informational messages
   -w                    Wait until operation completes
   -W                    Do not wait until operation completes
 (The default is to wait for shutdown, but not for start or restart.)
 
 If the -D option is omitted, the environment variable PGDATA is used.
-If the -X option is omitted, the environment variable PGXLOG is used
-or the postmaster defaults to looking in $PGDATA/pg_xlog.
 
 Options for start or restart:
   -l FILENAME           Write (or append) server log to FILENAME.  The
@@ -135,12 +132,6 @@ do
 	    PGDATA="$1"
 	    export PGDATA
 	    ;;
-	-X)
-	    shift
-	    # pass environment into new postmaster
-	    PGXLOG="$1"
-	    export PGXLOG
-	    ;;
 	-l)
 	    logfile="$2"
 	    shift;;
diff --git a/src/bin/pg_resetxlog/pg_resetxlog.c b/src/bin/pg_resetxlog/pg_resetxlog.c
index 72488f87ddc8a9254421a3bba8d1d33e3bae650e..adf5650798f7219c3f99dc6fa48d2e37302e0cba 100644
--- a/src/bin/pg_resetxlog/pg_resetxlog.c
+++ b/src/bin/pg_resetxlog/pg_resetxlog.c
@@ -23,7 +23,7 @@
  * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Header: /cvsroot/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.1 2002/08/17 02:44:24 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.2 2002/08/17 15:12:07 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -67,7 +67,7 @@
 
 
 static char *DataDir;			/* locations of important stuff */
-static char *XLogDir;
+static char XLogDir[MAXPGPATH];
 static char ControlFilePath[MAXPGPATH];
 
 static ControlFileData ControlFile;		/* pg_control values */
@@ -527,7 +527,6 @@ main(int argc, char **argv)
 
 	DataDir = argv[argn++];
 
-	XLogDir=malloc(MAXPGPATH);
 	snprintf(XLogDir, MAXPGPATH, "%s/pg_xlog", DataDir);
 
 	snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir);
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h
index 132fef26c882d7529b9ff527aaace3bb13e7fc5b..d249df47b6e9adb37a5df32cfb1323de32d56a2f 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.34 2002/08/06 02:36:35 tgl Exp $
+ * $Id: xlog.h,v 1.35 2002/08/17 15:12:07 momjian Exp $
  */
 #ifndef XLOG_H
 #define XLOG_H
@@ -175,9 +175,6 @@ typedef struct XLogRecData
 	struct XLogRecData *next;
 } XLogRecData;
 
-/* XLOG directory name */
-extern char *XLogDir;
-
 extern StartUpID ThisStartUpID; /* current SUI */
 extern bool InRecovery;
 extern XLogRecPtr MyLastRecPtr;
@@ -193,7 +190,6 @@ extern int	XLOG_DEBUG;
 extern char *XLOG_sync_method;
 extern const char XLOG_sync_method_default[];
 
-extern void SetXLogDir(char *path);
 
 extern XLogRecPtr XLogInsert(RmgrId rmid, uint8 info, XLogRecData *rdata);
 extern void XLogFlush(XLogRecPtr RecPtr);