From 0befb4f31386efb622e4df9f3a313aa1f2e17899 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sat, 27 Jul 2019 07:48:08 +0200 Subject: [PATCH] pg_upgrade: Check all used executables Expand the validate_exec() calls to cover all the used binaries. Author: Daniel Gustafsson Reviewed-by: Peter Eisentraut Discussion: https://www.postgresql.org/message-id/flat/9328.1552952117@sss.pgh.pa.us --- src/bin/pg_upgrade/exec.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_upgrade/exec.c b/src/bin/pg_upgrade/exec.c index 0363309328..dba02c495d 100644 --- a/src/bin/pg_upgrade/exec.c +++ b/src/bin/pg_upgrade/exec.c @@ -376,6 +376,7 @@ check_bin_dir(ClusterInfo *cluster) cluster->bindir); validate_exec(cluster->bindir, "postgres"); + validate_exec(cluster->bindir, "pg_controldata"); validate_exec(cluster->bindir, "pg_ctl"); /* @@ -390,12 +391,20 @@ check_bin_dir(ClusterInfo *cluster) validate_exec(cluster->bindir, "pg_resetxlog"); else validate_exec(cluster->bindir, "pg_resetwal"); + if (cluster == &new_cluster) { - /* these are only needed in the new cluster */ - validate_exec(cluster->bindir, "psql"); + /* + * These binaries are only needed for the target version. pg_dump and + * pg_dumpall are used to dump the old cluster, but must be of the + * target version. + */ + validate_exec(cluster->bindir, "initdb"); validate_exec(cluster->bindir, "pg_dump"); validate_exec(cluster->bindir, "pg_dumpall"); + validate_exec(cluster->bindir, "pg_restore"); + validate_exec(cluster->bindir, "psql"); + validate_exec(cluster->bindir, "vacuumdb"); } } -- 2.40.0