Hackers,

I would like to propose bumping PG_CONTROL_VERSION with each release even if there are no changes to the ControlFileData struct. Historically PG_CONTROL_VERSION has only been bumped when there were changes to ControlFileData.

pgBackRest uses PG_CONTROL_VERSION to identify the version of PostgreSQL when it is not running. If PG_CONTROL_VERSION does not change from a prior version then we also use CATALOG_VERSION_NO to uniquely identify the version.

This works fine, but is pretty fragile during the alpha/beta releases when CATALOG_VERSION_NO is likely to change with each release. Of course, PG_CONTROL_VERSION might change as well but this seems to be extremely rare for an alpha/beta release.

There are a few commits like eeca4cd3 and 99dd8b05a that would seem to argue that bumping PG_CONTROL_VERSION at least once for each release is a good idea in general. It doesn't seem too useful to be able to run pg_resetwal or pg_controldata against another version, in the few cases that it would actually work, e.g. 9.6/9.5.

Thoughts?
--
-David
da...@pgmasters.net


Reply via email to