aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/pg_dump/pg_restore.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c
index 2b209027f56..f9fb12c2d6b 100644
--- a/src/bin/pg_dump/pg_restore.c
+++ b/src/bin/pg_dump/pg_restore.c
@@ -323,6 +323,22 @@ main(int argc, char **argv)
exit_nicely(1);
}
+ if (numWorkers <= 0)
+ {
+ fprintf(stderr, _("%s: invalid number of parallel jobs\n"), progname);
+ exit(1);
+ }
+
+ /* See comments in pg_dump.c */
+#ifdef WIN32
+ if (numWorkers > MAXIMUM_WAIT_OBJECTS)
+ {
+ fprintf(stderr, _("%s: maximum number of parallel jobs is %d\n"),
+ progname, MAXIMUM_WAIT_OBJECTS);
+ exit(1);
+ }
+#endif
+
/* Can't do single-txn mode with multiple connections */
if (opts->single_txn && numWorkers > 1)
{
@@ -394,16 +410,6 @@ main(int argc, char **argv)
if (opts->tocFile)
SortTocFromFile(AH);
- /* See comments in pg_dump.c */
-#ifdef WIN32
- if (numWorkers > MAXIMUM_WAIT_OBJECTS)
- {
- fprintf(stderr, _("%s: maximum number of parallel jobs is %d\n"),
- progname, MAXIMUM_WAIT_OBJECTS);
- exit(1);
- }
-#endif
-
AH->numWorkers = numWorkers;
if (opts->tocSummary)