mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
pg_upgrade: make get_major_server_version() err msg consistent
This patch fixes the error message in get_major_server_version() to be
"could not parse version file", and uses the full file path name, rather
than just the data directory path.
Also, commit 4109bb5de4
added the cause of the failure to the "could
not open" error message, and improved quoting. This patch backpatches
the "could not open" cause to PG 12, where it was first widely used, and
backpatches the quoting fix in that patch to all supported releases.
Reported-by: Tom Lane
Discussion: https://postgr.es/m/87pne2w98h.fsf@wibble.ilmari.org
Author: Dagfinn Ilmari Mannsåker
Backpatch-through: 9.5
This commit is contained in:
@ -165,11 +165,11 @@ get_major_server_version(ClusterInfo *cluster)
|
|||||||
snprintf(ver_filename, sizeof(ver_filename), "%s/PG_VERSION",
|
snprintf(ver_filename, sizeof(ver_filename), "%s/PG_VERSION",
|
||||||
cluster->pgdata);
|
cluster->pgdata);
|
||||||
if ((version_fd = fopen(ver_filename, "r")) == NULL)
|
if ((version_fd = fopen(ver_filename, "r")) == NULL)
|
||||||
pg_fatal("could not open version file: %s\n", ver_filename);
|
pg_fatal("could not open version file \"%s\"\n", ver_filename);
|
||||||
|
|
||||||
if (fscanf(version_fd, "%63s", cluster->major_version_str) == 0 ||
|
if (fscanf(version_fd, "%63s", cluster->major_version_str) == 0 ||
|
||||||
sscanf(cluster->major_version_str, "%d.%d", &v1, &v2) < 1)
|
sscanf(cluster->major_version_str, "%d.%d", &v1, &v2) < 1)
|
||||||
pg_fatal("could not parse PG_VERSION file from %s\n", cluster->pgdata);
|
pg_fatal("could not parse version file \"%s\"\n", ver_filename);
|
||||||
|
|
||||||
fclose(version_fd);
|
fclose(version_fd);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user