mirror of https://github.com/postgres/postgres
Fix cross-version compatibility checks of pg_verify_checksums
pg_verify_checksums performs a read of the control file, and the data it fetches should be from a data folder compatible with the major version of Postgres the binary has been compiled with, but we never actually checked that compatibility. Reported-by: Sergei Kornilov Author: Michael Paquier Reviewed-by: Sergei Kornilov Discussion: https://postgr.es/m/155231347133.16480.11453587097036807558.pgcf@coridan.postgresql.org Backpatch-through: 11
This commit is contained in:
parent
fd1eaf9202
commit
501f58359b
|
@ -316,6 +316,13 @@ main(int argc, char *argv[])
|
|||
exit(1);
|
||||
}
|
||||
|
||||
if (ControlFile->pg_control_version != PG_CONTROL_VERSION)
|
||||
{
|
||||
fprintf(stderr, _("%s: cluster is not compatible with this version of pg_verify_checksums\n"),
|
||||
progname);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (ControlFile->state != DB_SHUTDOWNED &&
|
||||
ControlFile->state != DB_SHUTDOWNED_IN_RECOVERY)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue