Thread: systemd service start - disable timeout with "infinity"
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/14/server-start.html Description: In the service start section of the documentation, it is stated that using a value of zero for TimeoutSec disables the systemd timeout. This is not accurate and according to the documentation of systemd, https://www.freedesktop.org/software/systemd/man/systemd.service.html#TimeoutStartSec=, this should be set to "infinity" to disable the timeout.
PG Doc comments form <noreply@postgresql.org> writes: > In the service start section of the documentation, it is stated that using a > value of zero for TimeoutSec disables the systemd timeout. This is not > accurate and according to the documentation of systemd, > https://www.freedesktop.org/software/systemd/man/systemd.service.html#TimeoutStartSec=, > this should be set to "infinity" to disable the timeout. Hmm ... maybe zero works too, or worked when this was written? But you're right that "infinity" is now the documented way to do it. Will fix, thanks for the report. regards, tom lane
On Sun, Mar 20, 2022 at 12:11:19PM -0400, Tom Lane wrote: > PG Doc comments form <noreply@postgresql.org> writes: > > In the service start section of the documentation, it is stated that using a > > value of zero for TimeoutSec disables the systemd timeout. This is not > > accurate and according to the documentation of systemd, > > https://www.freedesktop.org/software/systemd/man/systemd.service.html#TimeoutStartSec=, > > this should be set to "infinity" to disable the timeout. > > Hmm ... maybe zero works too, or worked when this was written? > But you're right that "infinity" is now the documented way > to do it. Will fix, thanks for the report. FYI https://www.postgresql.org/message-id/flat/20211129220234.GQ17618%40telsasoft.com https://git.postgresql.org/gitweb/?p=pgrpms.git&a=commitdiff&h=c74dbe3781478597712066354d19b754ba4b7683 +# 0 is the same as infinity, but "infinity" needs systemd 229 +TimeoutStartSec=0
Justin Pryzby <pryzby@telsasoft.com> writes: > On Sun, Mar 20, 2022 at 12:11:19PM -0400, Tom Lane wrote: >> Hmm ... maybe zero works too, or worked when this was written? >> But you're right that "infinity" is now the documented way >> to do it. Will fix, thanks for the report. > +# 0 is the same as infinity, but "infinity" needs systemd 229 Ah, thanks for the data point. 229 is far enough back that I'm not too troubled about that; besides, since this is just a documentation example, clarity is more important. BTW, what I read in the systemd docs is that TimeoutSec is a shorthand for setting both TimeoutStartSec and TimeoutStopSec, so the code in our RPMs looks a bit dubious now: # Do not set any timeout value, so that systemd will not kill postmaster # during crash recovery. TimeoutSec=0 +# 0 is the same as infinity, but "infinity" needs systemd 229 +TimeoutStartSec=0 + +TimeoutStopSec=1h + [Install] This is making assumptions about what order the values are applied in, plus the initial comment is no longer very accurate. regards, tom lane