mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
Add support TCP user timeout in libpq and the backend server
Similarly to the set of parameters for keepalive, a connection parameter for libpq is added as well as a backend GUC, called tcp_user_timeout. Increasing the TCP user timeout is useful to allow a connection to survive extended periods without end-to-end connection, and decreasing it allows application to fail faster. By default, the parameter is 0, which makes the connection use the system default, and follows a logic close to the keepalive parameters in its handling. When connecting through a Unix-socket domain, the parameters have no effect. Author: Ryohei Nagaura Reviewed-by: Fabien Coelho, Robert Haas, Kyotaro Horiguchi, Kirk Jamison, Mikalai Keida, Takayuki Tsunakawa, Andrei Yahorau Discussion: https://postgr.es/m/EDA4195584F5064680D8130B1CA91C45367328@G01JPEXMBYT04
This commit is contained in:
@ -939,6 +939,31 @@ include_dir 'conf.d'
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="guc-tcp-user-timeout" xreflabel="tcp_user_timeout">
|
||||
<term><varname>tcp_user_timeout</varname> (<type>integer</type>)
|
||||
<indexterm>
|
||||
<primary><varname>tcp_user_timeout</varname> configuration parameter</primary>
|
||||
</indexterm>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the number of milliseconds that transmitted data may
|
||||
remain unacknowledged before a connection is forcibly closed.
|
||||
A value of 0 uses the system default.
|
||||
This parameter is supported only on systems that support
|
||||
<symbol>TCP_USER_TIMEOUT</symbol>; on other systems, it must be zero.
|
||||
In sessions connected via a Unix-domain socket, this parameter is
|
||||
ignored and always reads as zero.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
This parameter is not supported on Windows and on Linux version
|
||||
2.6.36 or older.
|
||||
</para>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect2>
|
||||
|
||||
|
@ -1249,6 +1249,20 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpq-tcp-user-timeout" xreflabel="libpq_tcp_user_timeout">
|
||||
<term><literal>tcp_user_timeout</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Controls the number of milliseconds that transmitted data may
|
||||
remain unacknowledged before a connection is forcibly closed.
|
||||
A value of zero uses the system default. This parameter is
|
||||
ignored for connections made via a Unix-domain socket.
|
||||
It is only supported on systems where <symbol>TCP_USER_TIMEOUT</symbol>
|
||||
is available; on other systems, it has no effect.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpq-connect-tty" xreflabel="tty">
|
||||
<term><literal>tty</literal></term>
|
||||
<listitem>
|
||||
|
Reference in New Issue
Block a user