Type: | integer |
Default: | 0 (0s) |
Min: | 0 (0s) |
Max: | 2147483647 (2147483647s) |
Unit: | seconds (s) |
Context: | user |
Restart: | false |
Specifies the amount of time with no network activity after which the operating system should send a TCP keepalive message to the client. If this value is specified without units, it is taken as seconds. A value of 0 (the default) selects the operating system's default. This parameter is supported only on systems that support 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.
On Windows, setting a value of 0 will set this parameter to 2 hours, since Windows does not provide a way to read the system default value.
On StackOverflow
- PostgreSQL - tcp_keepalives_idle - explanation needed
- Postgres's tcp_keepalives_idle Not Updating AWS ELB Idle Timeout
- How to use tcp_keepalives settings in Postgresql?
- Using TCP keepalive for terminating orphan postgres queries not working
- How to break connections TCP/IP by keepalive postgreSQL without changing anything in the register?