aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2017-06-28 12:30:16 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2017-06-28 12:30:16 -0400
commite97b7372bf94e20df41b73f81c53157d53826535 (patch)
treea88ef4103f658f260f27ffc3262c3c7afa646516 /doc/src
parentc2cb606a2ead48421398737b50614a356c3419f1 (diff)
downloadpostgresql-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.sgml19
-rw-r--r--doc/src/sgml/libpq.sgml19
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>