]> granicus.if.org Git - postgresql/commit
Disable timeouts when running pg_rewind with online source cluster
authorMichael Paquier <michael@paquier.xyz>
Wed, 28 Aug 2019 02:48:33 +0000 (11:48 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 28 Aug 2019 02:48:33 +0000 (11:48 +0900)
commite9dcbc9c3fb6572f59f668c02df0a153632136fa
tree8f517155192d78485171d7f74c665ac20907f651
parent890040b9c61bf3b826c494b183983d68124353fb
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