]> granicus.if.org Git - postgresql/commit
Further tweak commit_timestamp behavior
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 3 Dec 2015 22:22:31 +0000 (19:22 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 3 Dec 2015 22:22:31 +0000 (19:22 -0300)
commit16e8e62d274a6026045bf809da38bc8ac33b9185
treee986630771c22df3036a703086424c4e98896854
parent07338cb7425ee661ea2b80c1a3826bee1bc1a1de
Further tweak commit_timestamp behavior

As pointed out by Fujii Masao, we weren't quite there on a standby
behaving sanely: first because we were failing to acquire the correct
state in the case where no XLOG_PARAMETER_CHANGE message was sent
(because a checkpoint had already happened after the setting was changed
in the master, and then the standby was restarted); and second because
promoting the standby with the feature enabled failed to activate it if
the master had the feature disabled.

This patch fixes both those misbehaviors hopefully without
re-introducing any old problems.

Also change the hint emitted in a standby together with the error
message about the feature being disabled, to make it point out that the
place to chance the setting is the master.  Otherwise, if the setting is
already enabled in the standby, it is very confusing to have it say that
the setting must be enabled ...

Authors: Álvaro Herrera, Petr Jelínek.
Backpatch to 9.5.
src/backend/access/transam/commit_ts.c
src/backend/access/transam/xlog.c
src/include/access/commit_ts.h