aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2014-02-24 13:04:51 -0500
committerBruce Momjian <bruce@momjian.us>2014-02-24 13:04:51 -0500
commit848ae330a497b4d430d93bd813f93c40d2bb0157 (patch)
tree04cc910fd46df10ccfdedb263ab7588b98f60767
parent6f14a6f703a26ec12f4da6f53f107dd260fbb9db (diff)
downloadpostgresql-848ae330a497b4d430d93bd813f93c40d2bb0157.tar.gz
postgresql-848ae330a497b4d430d93bd813f93c40d2bb0157.zip
Increase work_mem and maintenance_work_mem defaults by 4x
New defaults are 4MB and 64MB.
-rw-r--r--doc/src/sgml/config.sgml4
-rw-r--r--src/backend/utils/misc/guc.c4
-rw-r--r--src/backend/utils/misc/postgresql.conf.sample4
3 files changed, 6 insertions, 6 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 4dc1277f252..91a601559f0 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1213,7 +1213,7 @@ include 'filename'
<para>
Specifies the amount of memory to be used by internal sort operations
and hash tables before writing to temporary disk files. The value
- defaults to one megabyte (<literal>1MB</>).
+ defaults to four megabytes (<literal>4MB</>).
Note that for a complex query, several sort or hash operations might be
running in parallel; each operation will be allowed to use as much memory
as this value specifies before it starts to write data into temporary
@@ -1239,7 +1239,7 @@ include 'filename'
Specifies the maximum amount of memory to be used by maintenance
operations, such as <command>VACUUM</command>, <command>CREATE
INDEX</>, and <command>ALTER TABLE ADD FOREIGN KEY</>. It defaults
- to 16 megabytes (<literal>16MB</>). Since only one of these
+ to 64 megabytes (<literal>64MB</>). Since only one of these
operations can be executed at a time by a database session, and
an installation normally doesn't have many of them running
concurrently, it's safe to set this value significantly larger
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 86afde17de5..aa5a8757fa3 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -1773,7 +1773,7 @@ static struct config_int ConfigureNamesInt[] =
GUC_UNIT_KB
},
&work_mem,
- 1024, 64, MAX_KILOBYTES,
+ 4096, 64, MAX_KILOBYTES,
NULL, NULL, NULL
},
@@ -1784,7 +1784,7 @@ static struct config_int ConfigureNamesInt[] =
GUC_UNIT_KB
},
&maintenance_work_mem,
- 16384, 1024, MAX_KILOBYTES,
+ 65536, 1024, MAX_KILOBYTES,
NULL, NULL, NULL
},
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 480c9e9797e..07341e72a43 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -124,8 +124,8 @@
# per transaction slot, plus lock space (see max_locks_per_transaction).
# It is not advisable to set max_prepared_transactions nonzero unless you
# actively intend to use prepared transactions.
-#work_mem = 1MB # min 64kB
-#maintenance_work_mem = 16MB # min 1MB
+#work_mem = 4MB # min 64kB
+#maintenance_work_mem = 64MB # min 1MB
#autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem
#max_stack_depth = 2MB # min 100kB
#dynamic_shared_memory_type = posix # the default is the first option