Commit d0ca92cb authored by Tom Lane's avatar Tom Lane

Correct erroneous explanation of DEADLOCK_TIMEOUT configuration setting.

parent 44eaafe3
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.15 2000/07/16 14:47:57 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.16 2000/07/17 22:32:44 tgl Exp $
--> -->
<Chapter Id="runtime"> <Chapter Id="runtime">
...@@ -374,8 +374,8 @@ Is the postmaster running at 'localhost' and accepting connections on Unix socke ...@@ -374,8 +374,8 @@ Is the postmaster running at 'localhost' and accepting connections on Unix socke
<para> <para>
One way to set these options is to create a file One way to set these options is to create a file
<filename>postgresql.conf</filename> in the data directory (e.g., <filename>postgresql.conf</filename> in the data directory (e.g.,
<filename>/usr/local/pgsql/data</filename>). An example of how <filename>/usr/local/pgsql/data</filename>). An example of what
this file could look like is this: this file could look like is:
<programlisting> <programlisting>
# This is a comment # This is a comment
log_connections = yes log_connections = yes
...@@ -829,15 +829,22 @@ env PGOPTIONS='--geqo=off' psql ...@@ -829,15 +829,22 @@ env PGOPTIONS='--geqo=off' psql
<term>DEADLOCK_TIMEOUT (<type>integer</type>)</term> <term>DEADLOCK_TIMEOUT (<type>integer</type>)</term>
<listitem> <listitem>
<para> <para>
<productname>Postgres</productname> assumes that if This is the amount of time, in milliseconds, to wait on a lock
transactions are stuck for this many milliseconds then a before checking to see if there is a deadlock condition or not.
deadlock has occurred. Although it is technically possible to The check for deadlock is relatively slow, so we don't want to
detect deadlocks <quote>properly</quote>, the present run it every time we wait for a lock. We (optimistically?)
optimistic approach is much more efficient in practice. If you get assume that deadlocks are not common in production applications,
too many deadlock detected messages when you provably did not and just wait on the lock for awhile before starting to ask
have one, you might want to try raising this value. The questions about whether it can ever get unlocked.
default is 1000 (i.e., one second). This option can only be Increasing this value reduces the amount of time wasted in
set at server start. needless deadlock checks, but slows down reporting of real deadlock
errors. The default is 1000 (i.e., one second), which is probably
about the smallest value you would want in practice. On a heavily
loaded server you might want to raise it. Ideally the setting
should exceed your typical transaction time, so as to improve the
odds that the lock will be released before the waiter decides to
check for deadlock.
This option can only be set at server start.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
...@@ -889,7 +896,8 @@ env PGOPTIONS='--geqo=off' psql ...@@ -889,7 +896,8 @@ env PGOPTIONS='--geqo=off' psql
<para> <para>
Determines how many concurrent connections the database server Determines how many concurrent connections the database server
will allow. The default is 32. There is also a compiled-in will allow. The default is 32. There is also a compiled-in
hard upper limit on this option, which is currently 1024. This hard upper limit on this value, which is typically 1024
(both numbers can be altered when compiling the server). This
parameter can only be set at server start. parameter can only be set at server start.
</para> </para>
</listitem> </listitem>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment