Can't change tcp_keepalives_idle

Started by Abraham, Dannyover 1 year ago4 messagesgeneral
Jump to latest
#1Abraham, Danny
danny_abraham@bmc.com

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

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Abraham, Danny (#1)
Re: Can't change tcp_keepalives_idle

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

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Abraham, Danny (#1)
Re: Can't change tcp_keepalives_idle

"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

#4Muhammad Imtiaz
imtiazpg712@gmail.com
In reply to: Abraham, Danny (#1)
Re: Can't change tcp_keepalives_idle

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:

Show quoted text

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