diff options
author | Michael Paquier <michael@paquier.xyz> | 2019-04-06 15:23:37 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2019-04-06 15:23:37 +0900 |
commit | 249d64999615802752940e017ee5166e726bc7cd (patch) | |
tree | 0e66ac1723a854999e136e0c8cb3c3c4442b589d /doc/src | |
parent | 959d00e9dbe4cfcf4a63bb655ac2c29a5e579246 (diff) | |
download | postgresql-249d64999615802752940e017ee5166e726bc7cd.tar.gz postgresql-249d64999615802752940e017ee5166e726bc7cd.zip |
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
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/config.sgml | 25 | ||||
-rw-r--r-- | doc/src/sgml/libpq.sgml | 14 |
2 files changed, 39 insertions, 0 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index bc1d0f7bfae..d2da1abe618 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -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> diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 924b7ce50e1..fe833aa6260 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -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> |