]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Disable timeouts when running pg_rewind with online source cluster
authorMichael Paquier <michael@paquier.xyz>
Wed, 28 Aug 2019 02:48:15 +0000 (11:48 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 28 Aug 2019 02:48:15 +0000 (11:48 +0900)
commite96f524433dbc562d708c4d09d8455b6bc953613
tree449f48d6eee5a14f89c0d70ce07d34278db6e6c3
parent11f6271b87fab08eea23a31ceaa6b14cdc2e8a6c
Disable timeouts when running pg_rewind with online source cluster

In this case, the transfer uses a libpq connection, which is subject to
the timeout parameters set at system level, and this can make the rewind
operation suddenly canceled which is not good for automation.  One
workaround to such issues would be to use PGOPTIONS to enforce the
wanted timeout parameters, but that's annoying, and for example pg_dump,
which can run potentially long-running queries disables all types of
timeouts.

lock_timeout and statement_timeout are the ones which can cause problems
now.  Note that pg_rewind does not use transactions, so disabling
idle_in_transaction_session_timeout is optional, but it feels safer to
do so for the future.

This is back-patched down to 9.5.  idle_in_transaction_session_timeout
is only present since 9.6.

Author: Alexander Kukushkin
Discussion: https://postgr.es/m/CAFh8B=krcVXksxiwVQh1SoY+ziJ-JC=6FcuoBL3yce_40Es5_g@mail.gmail.com
Backpatch-through: 9.5
src/bin/pg_rewind/libpq_fetch.c