postgrespro.git / summary / log / commit / refs

commit    0befb4f31386efb622e4df9f3a313aa1f2e17899
Author:   Peter Eisentraut <peter@eisentraut.org>
Date:     Sat Jul 27 05:48:08 2019 +0000

    pg_upgrade: Check all used executables
    
    Expand the validate_exec() calls to cover all the used binaries.
    
    Author: Daniel Gustafsson <daniel@yesql.se>
    Reviewed-by: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
    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"); } } [parent: 28cb0555c115]