summaryrefslogtreecommitdiff
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
commitcc154d9a0022102147ed85dc50766d95ee229bb1 (patch)
tree050dd27332ebdbe2e89aae536198a94da34bedb4 /doc/src
parent9ce7f39195dcd953adbf746deb09a490f7bca2b6 (diff)
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.sgml17
-rw-r--r--doc/src/sgml/libpq.sgml19
2 files changed, 19 insertions, 17 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 0611104dfce..e0ee139b367 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -677,8 +677,8 @@ include 'filename'
<para>
Specifies the number of seconds before sending a keepalive packet on
an otherwise idle connection. 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.
@@ -701,9 +701,9 @@ include 'filename'
<para>
Specifies the number of seconds between sending keepalives on an
otherwise idle connection. 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>
@@ -724,9 +724,10 @@ include 'filename'
<listitem>
<para>
Specifies the number of keepalive packets to send on an otherwise idle
- connection. 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.
+ connection. 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 14d54da43c0..bc54c057c7c 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -1069,10 +1069,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>
@@ -1085,9 +1085,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>
@@ -1100,8 +1100,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>