From: Bruce Momjian Date: Mon, 24 May 2010 16:34:35 +0000 (+0000) Subject: Split apart pg_upgrade user lookup and root check so '--help' shows X-Git-Tag: REL9_0_BETA2~80 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=00be75415c3cd306088f3c6676f7e5805ed22bba;p=postgresql Split apart pg_upgrade user lookup and root check so '--help' shows proper default username. --- diff --git a/contrib/pg_upgrade/option.c b/contrib/pg_upgrade/option.c index 4d97da05ab..83e0ea6c15 100644 --- a/contrib/pg_upgrade/option.c +++ b/contrib/pg_upgrade/option.c @@ -48,7 +48,8 @@ parseCommandLine(migratorContext *ctx, int argc, char *argv[]) }; char option; /* Command line option */ int optindex = 0; /* used by getopt_long */ - + int user_id; + if (getenv("PGUSER")) { pg_free(ctx->user); @@ -62,6 +63,9 @@ parseCommandLine(migratorContext *ctx, int argc, char *argv[]) ctx->transfer_mode = TRANSFER_MODE_COPY; + /* user lookup and 'root' test must be split because of usage() */ + user_id = get_user_info(ctx, &ctx->user); + if (argc > 1) { if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0 || @@ -77,7 +81,7 @@ parseCommandLine(migratorContext *ctx, int argc, char *argv[]) } } - if ((get_user_info(ctx, &ctx->user)) == 0) + if (user_id == 0) pg_log(ctx, PG_FATAL, "%s: cannot be run as root\n", ctx->progname); #ifndef WIN32