diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-06-28 12:30:16 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-06-28 12:30:16 -0400 |
commit | e97b7372bf94e20df41b73f81c53157d53826535 (patch) | |
tree | a88ef4103f658f260f27ffc3262c3c7afa646516 /doc/src | |
parent | c2cb606a2ead48421398737b50614a356c3419f1 (diff) | |
download | postgresql-e97b7372bf94e20df41b73f81c53157d53826535.tar.gz postgresql-e97b7372bf94e20df41b73f81c53157d53826535.zip |
Second try at fixing tcp_keepalives_idle option on Solaris.
Buildfarm evidence shows that TCP_KEEPALIVE_THRESHOLD doesn't exist
after all on Solaris < 11. This means we need to take positive action to
prevent the TCP_KEEPALIVE code path from being taken on that platform.
I've chosen to limit it with "&& defined(__darwin__)", since it's unclear
that anyone else would follow Apple's precedent of spelling the symbol
that way.
Also, follow a suggestion from Michael Paquier of eliminating code
duplication by defining a couple of intermediate symbols for the
socket option.
In passing, make some effort to reduce the number of translatable messages
by replacing "setsockopt(foo) failed" with "setsockopt(%s) failed", etc,
throughout the affected files. And update relevant documentation so
that it doesn't claim to provide an exhaustive list of the possible
socket option names.
Like the previous commit (f0256c774), back-patch to all supported branches.
Discussion: https://postgr.es/m/20170627163757.25161.528@wrigleys.postgresql.org
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/config.sgml | 19 | ||||
-rw-r--r-- | doc/src/sgml/libpq.sgml | 19 |
2 files changed, 20 insertions, 18 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 5c580e60dfc..9e16d27a406 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -848,8 +848,8 @@ include_dir 'conf.d' Specifies the number of seconds of inactivity after which TCP should send a keepalive message to the client. A value of 0 uses the system default. - This parameter is supported only on systems that support the - <symbol>TCP_KEEPIDLE</> or <symbol>TCP_KEEPALIVE</> symbols, and on + This parameter is supported only on systems that support + <symbol>TCP_KEEPIDLE</> or an equivalent socket option, and on Windows; on other systems, it must be zero. In sessions connected via a Unix-domain socket, this parameter is ignored and always reads as zero. @@ -874,9 +874,9 @@ include_dir 'conf.d' Specifies the number of seconds after which a TCP keepalive message that is not acknowledged by the client should be retransmitted. A value of 0 uses the system default. - This parameter is supported only on systems that support the - <symbol>TCP_KEEPINTVL</> symbol, and on Windows; on other systems, it - must be zero. + This parameter is supported only on systems that support + <symbol>TCP_KEEPINTVL</> or an equivalent socket option, and on + Windows; 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> @@ -898,10 +898,11 @@ include_dir 'conf.d' <listitem> <para> Specifies the number of TCP keepalives that can be lost before - the server's connection to the client is considered dead. A value of 0 - uses the system default. This parameter is - supported only on systems that support the <symbol>TCP_KEEPCNT</> - symbol; on other systems, it must be zero. + the server's connection to the client is considered dead. + A value of 0 uses the system default. + This parameter is supported only on systems that support + <symbol>TCP_KEEPCNT</> or an equivalent socket option; + 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> diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index dabc36a543f..9ec291d5c4c 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1070,10 +1070,10 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname Controls the number of seconds of inactivity after which TCP should send a keepalive message to the server. A value of zero uses the system default. This parameter is ignored for connections made via a - Unix-domain socket, or if keepalives are disabled. It is only supported - on systems where the <symbol>TCP_KEEPIDLE</> or <symbol>TCP_KEEPALIVE</> - socket option is available, and on Windows; on other systems, it has no - effect. + Unix-domain socket, or if keepalives are disabled. + It is only supported on systems where <symbol>TCP_KEEPIDLE</> or + an equivalent socket option is available, and on Windows; on other + systems, it has no effect. </para> </listitem> </varlistentry> @@ -1086,9 +1086,9 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname that is not acknowledged by the server should be retransmitted. A value of zero uses the system default. This parameter is ignored for connections made via a Unix-domain socket, or if keepalives are disabled. - It is only supported on systems where the <symbol>TCP_KEEPINTVL</> - socket option is available, and on Windows; on other systems, it has no - effect. + It is only supported on systems where <symbol>TCP_KEEPINTVL</> or + an equivalent socket option is available, and on Windows; on other + systems, it has no effect. </para> </listitem> </varlistentry> @@ -1101,8 +1101,9 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname client's connection to the server is considered dead. A value of zero uses the system default. This parameter is ignored for connections made via a Unix-domain socket, or if keepalives are disabled. - It is only supported on systems where the <symbol>TCP_KEEPCNT</> - socket option is available; on other systems, it has no effect. + It is only supported on systems where <symbol>TCP_KEEPCNT</> or + an equivalent socket option is available; on other systems, it has no + effect. </para> </listitem> </varlistentry> |