diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index d0f43c64af3e7430e28c4c236d0a0a8c1c5c23eb..b30c68dc138eafacf3b55ac9aa483d8fa4245e0d 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -2430,7 +2430,7 @@ include_dir 'conf.d'
         checkpoints. This is a soft limit; WAL size can exceed
         <varname>max_wal_size</> under special circumstances, like
         under heavy load, a failing <varname>archive_command</>, or a high
-        <varname>wal_keep_segments</> setting. The default is 128 MB.
+        <varname>wal_keep_segments</> setting. The default is 1 GB.
         Increasing this parameter can increase the amount of time needed for
         crash recovery.
         This parameter can only be set in the <filename>postgresql.conf</>
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
index b57749fdbc3f79947cf50b0834c42efdc7c41e91..f4083c3fe570ebac9a6d172854c86fb0809603f3 100644
--- a/doc/src/sgml/wal.sgml
+++ b/doc/src/sgml/wal.sgml
@@ -475,7 +475,7 @@
    linkend="guc-checkpoint-timeout"> seconds, or if
    <xref linkend="guc-max-wal-size"> is about to be exceeded,
    whichever comes first.
-   The default settings are 5 minutes and 128 MB, respectively.
+   The default settings are 5 minutes and 1 GB, respectively.
    If no WAL has been written since the previous checkpoint, new checkpoints
    will be skipped even if <varname>checkpoint_timeout</> has passed.
    (If WAL archiving is being used and you want to put a lower limit on how
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 17bd5d85a9562df444abc05ec86c8dfcbf605d8d..72af2c4330398fec0440b2e1cdcad4fc34a01c72 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -79,7 +79,7 @@ extern uint32 bootstrap_data_checksum_version;
 
 
 /* User-settable parameters */
-int			max_wal_size = 8;		/* 128 MB */
+int			max_wal_size = 64;		/* 1 GB */
 int			min_wal_size = 5;		/* 80 MB */
 int			wal_keep_segments = 0;
 int			XLOGbuffers = -1;
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 7196b0b2157b2bcf8de50e5e1196effd94bf46de..26275bda1299d9fa9ee01d409c34deb3b154fcd0 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -2191,7 +2191,7 @@ static struct config_int ConfigureNamesInt[] =
 			GUC_UNIT_XSEGS
 		},
 		&max_wal_size,
-		8, 2, INT_MAX,
+		64, 2, INT_MAX,
 		NULL, assign_max_wal_size, NULL
 	},
 
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index d7a61f1fc4b8da58e424cd9baa0838f93e7ba0cc..110983f176417cc3de91456b3ed48fe6ff7c8c20 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -199,7 +199,7 @@
 # - Checkpoints -
 
 #checkpoint_timeout = 5min		# range 30s-1h
-#max_wal_size = 128MB			# in logfile segments
+#max_wal_size = 1GB
 #min_wal_size = 80MB
 #checkpoint_completion_target = 0.5	# checkpoint target duration, 0.0 - 1.0
 #checkpoint_warning = 30s		# 0 disables