mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
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
This commit is contained in:
@ -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>
|
||||
|
@ -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>
|
||||
|
Reference in New Issue
Block a user