Thread: Can't change tcp_keepalives_idle
Hi, Change tcp_keepalives_idle in postgresql.conf from 0 to 300 , then pg_ctl reload but it stays with the old 0 value. Tried restart and it did not work. PG Log says it was changed. Reset_cal marked OK, but no real change ( ins how) -[ RECORD 1 ]---+----------------------------------------------------- name | tcp_keepalives_idle setting | 0 unit | s category | Connections and Authentication / Connection Settings short_desc | Time between issuing TCP keepalives. extra_desc | A value of 0 uses the system default. context | user vartype | integer source | session min_val | 0 max_val | 2147483647 enumvals | boot_val | 0 reset_val | 1800 sourcefile | sourceline | pending_restart | f Thanks Danny
On 8/4/24 04:16, Abraham, Danny wrote: > Hi, > > Change tcp_keepalives_idle in postgresql.conf from 0 to 300 , then pg_ctl reload but it stays with the old 0 value. > Tried restart and it did not work. PG Log says it was changed. > Reset_cal marked OK, but no real change ( ins how) > > -[ RECORD 1 ]---+----------------------------------------------------- > name | tcp_keepalives_idle > setting | 0 > unit | s > category | Connections and Authentication / Connection Settings > short_desc | Time between issuing TCP keepalives. > extra_desc | A value of 0 uses the system default. > context | user > vartype | integer > source | session > min_val | 0 > max_val | 2147483647 > enumvals | > boot_val | 0 > reset_val | 1800 > sourcefile | > sourceline | > pending_restart | f source | session Something is setting the value for the session. Have you used https://www.postgresql.org/docs/current/sql-alterrole.html or https://www.postgresql.org/docs/current/sql-alterdatabase.html to SET tcp_keepalives_idle? Doing: select * from pg_db_role_setting ; will help answer the above. > > Thanks > > Danny > > -- Adrian Klaver adrian.klaver@aklaver.com
"Abraham, Danny" <danny_abraham@bmc.com> writes: > Change tcp_keepalives_idle in postgresql.conf from 0 to 300 , then pg_ctl reload but it stays with the old 0 value. > Tried restart and it did not work. PG Log says it was changed. tcp_keepalives_idle isn't implemented on all platforms. But I'd expect to see a LOG message in the postmaster log about that, either something about "setsockopt failed" or "WSAIoctl failed" or "setting the keepalive idle time is not supported". Also, if you inquire the value on a non-TCP connection, you'll get zero because it's not relevant. regards, tom lane
Hi,
This parameter is supported only on systems that support
Regards,
Muhammad Imtiaz
This parameter is supported only on systems that support
TCP_KEEPINTVL
. And please
ensure that you are not accidentally connecting through a Unix-domain socket. If the result of this query is null then it is a Unix socket based connection.SELECT client_addr FROM pg_stat_activity WHERE pid = pg_backend_pid();
Regards,
Muhammad Imtiaz
On Sun, Aug 4, 2024 at 4:16 PM Abraham, Danny <danny_abraham@bmc.com> wrote:
Hi,
Change tcp_keepalives_idle in postgresql.conf from 0 to 300 , then pg_ctl reload but it stays with the old 0 value.
Tried restart and it did not work. PG Log says it was changed.
Reset_cal marked OK, but no real change ( ins how)
-[ RECORD 1 ]---+-----------------------------------------------------
name | tcp_keepalives_idle
setting | 0
unit | s
category | Connections and Authentication / Connection Settings
short_desc | Time between issuing TCP keepalives.
extra_desc | A value of 0 uses the system default.
context | user
vartype | integer
source | session
min_val | 0
max_val | 2147483647
enumvals |
boot_val | 0
reset_val | 1800
sourcefile |
sourceline |
pending_restart | f
Thanks
Danny