aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2010-04-16 21:46:07 +0000
committerRobert Haas <rhaas@postgresql.org>2010-04-16 21:46:07 +0000
commit7b130fbc503a1bfabf58c0c67cf8461e33fcc680 (patch)
tree24d8824b8bad8cc99b44bad80af0f87f4047a403
parent961ad3fdd95f621e34a1680e42ff859f0bcb5682 (diff)
downloadpostgresql-7b130fbc503a1bfabf58c0c67cf8461e33fcc680.tar.gz
postgresql-7b130fbc503a1bfabf58c0c67cf8461e33fcc680.zip
Provide better guidance for adjusting shared_buffers.
-rw-r--r--doc/src/sgml/config.sgml31
1 files changed, 27 insertions, 4 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 32c087dc30a..986fb1aca45 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.266 2010/04/15 16:25:13 heikki Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.267 2010/04/16 21:46:07 rhaas Exp $ -->
<chapter Id="runtime-config">
<title>Server Configuration</title>
@@ -784,9 +784,32 @@ SET ENABLE_SEQSCAN TO OFF;
This setting must be at least 128 kilobytes. (Non-default
values of <symbol>BLCKSZ</symbol> change the minimum.) However,
settings significantly higher than the minimum are usually needed
- for good performance. Several tens of megabytes are recommended
- for production installations. This parameter can only be set at
- server start.
+ for good performance. This parameter can only be set at server start.
+ </para>
+
+ <para>
+ If you have a dedicated database server with 1GB or more of RAM, a
+ reasonable starting value for <varname>shared_buffers</varname> is 25%
+ of the memory in your system. There are some workloads where even
+ large settings for <varname>shared_buffers</varname> are effective, but
+ because <productname>PostgreSQL</productname> also relies on the
+ operating system cache, it is unlikely that an allocation of more than
+ 40% of RAM to <varname>shared_buffers</varname> will work better than a
+ smaller amount. Larger settings for <varname>shared_buffers</varname>
+ usually require a corresponding increase in
+ <varname>checkpoint_segments</varname>, in order to spread out the
+ process of writing large quantities of new or changed data over a
+ longer period of time.
+ </para>
+
+ <para>
+ On systems with less than 1GB of RAM, a smaller percentage of RAM is
+ appropriate, so as to leave adequate space for the operating system.
+ Also, on Windows, large values for <varname>shared_buffers</varname>
+ aren't as effective. You may find better results keeping the setting
+ relatively low and using the operating system cache more instead. The
+ useful range for <varname>shared_buffers</varname> on Windows systems
+ is generally from 64MB to 512MB.
</para>
<para>