Thread: Can't change tcp_keepalives_idle

Can't change tcp_keepalives_idle

From
"Abraham, Danny"
Date:
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



Re: Can't change tcp_keepalives_idle

From
Adrian Klaver
Date:
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




Re: Can't change tcp_keepalives_idle

From
Tom Lane
Date:
"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



Re: Can't change tcp_keepalives_idle

From
Muhammad Imtiaz
Date:
Hi,

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