Dear Horiguchi-san,
Thank you for replying! I understood I was wrong. Sorry.
> You're misunderstanding here. Maybe you saw that start_xact_command()
> starts the timer but note that the function is called before every
> command execution.
Based on your advice I read codes again and I found that start_xact_command() is called
from exec_XXX functions.
They are called when backend processes read first char from front-end,
hence I agreed enable_timeout_after() will call very quickly if timeout is disabled.
> So this is wrong. I should see the check performed as expected. That
> behavior would be clearly visualized if you inserted an elog() into
> pq_check_connection().
Right. As mentioned above timeout is checked basically whenever reading commands.
I embedded elog() to ClientCheckTimeoutHandler() and visualized easily.
> And it seems that the documentation describes the behavior correctly.
>
> https://www.postgresql.org/docs/14/runtime-config-connection.html
>
> > client_connection_check_interval (integer)
> >
> > Sets the time interval between optional checks that the client is
> > still connected, while running queries.
Yeah I agreed that, I apologize for mistaking source and doc analysis.
Best Regards,
Hayato Kuroda
FUJITSU LIMITED