mirror of
https://github.com/postgres/postgres.git
synced 2025-05-09 18:21:05 +03:00
pg_upgrade: Improve invalid option handling
Currently, calling pg_upgrade with an invalid command-line option aborts pg_upgrade but leaves a pg_upgrade_internal.log file lying around. Reorder things a bit so that that file is not created until all the options have been parsed. Discussion: https://www.postgresql.org/message-id/24c8bd05-aed1-6301-919d-8acbabdb8c24@2ndquadrant.com
This commit is contained in:
parent
dfd79e2d0e
commit
aba78ab4a9
@ -101,9 +101,6 @@ parseCommandLine(int argc, char *argv[])
|
|||||||
if (os_user_effective_id == 0)
|
if (os_user_effective_id == 0)
|
||||||
pg_fatal("%s: cannot be run as root\n", os_info.progname);
|
pg_fatal("%s: cannot be run as root\n", os_info.progname);
|
||||||
|
|
||||||
if ((log_opts.internal = fopen_priv(INTERNAL_LOG_FILE, "a")) == NULL)
|
|
||||||
pg_fatal("could not write to log file \"%s\"\n", INTERNAL_LOG_FILE);
|
|
||||||
|
|
||||||
while ((option = getopt_long(argc, argv, "d:D:b:B:cj:ko:O:p:P:rs:U:v",
|
while ((option = getopt_long(argc, argv, "d:D:b:B:cj:ko:O:p:P:rs:U:v",
|
||||||
long_options, &optindex)) != -1)
|
long_options, &optindex)) != -1)
|
||||||
{
|
{
|
||||||
@ -205,7 +202,6 @@ parseCommandLine(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'v':
|
case 'v':
|
||||||
pg_log(PG_REPORT, "Running in verbose mode\n");
|
|
||||||
log_opts.verbose = true;
|
log_opts.verbose = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -214,12 +210,18 @@ parseCommandLine(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
pg_fatal("Try \"%s --help\" for more information.\n",
|
fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
|
||||||
os_info.progname);
|
os_info.progname);
|
||||||
break;
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((log_opts.internal = fopen_priv(INTERNAL_LOG_FILE, "a")) == NULL)
|
||||||
|
pg_fatal("could not write to log file \"%s\"\n", INTERNAL_LOG_FILE);
|
||||||
|
|
||||||
|
if (log_opts.verbose)
|
||||||
|
pg_log(PG_REPORT, "Running in verbose mode\n");
|
||||||
|
|
||||||
/* label start of upgrade in logfiles */
|
/* label start of upgrade in logfiles */
|
||||||
for (filename = output_files; *filename != NULL; filename++)
|
for (filename = output_files; *filename != NULL; filename++)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user