*** ./doc/src/sgml/ref/pg_restore.sgml.orig Thu Jul 15 10:29:00 2004 --- ./doc/src/sgml/ref/pg_restore.sgml Thu Aug 12 10:29:09 2004 *************** *** 130,135 **** --- 130,147 ---- + + + + + Die if an error is encountered while sending sql commands into + the database. Default is to keep going and to display a count of + errors at the end of the restoration. + + + + + *** ./src/bin/pg_dump/pg_backup.h.orig Thu Jul 15 10:29:01 2004 --- ./src/bin/pg_dump/pg_backup.h Thu Aug 12 10:18:43 2004 *************** *** 103,108 **** --- 103,109 ---- char *username; int ignoreVersion; int requirePassword; + int die_on_errors; bool *idWanted; bool limitToList; *** ./src/bin/pg_dump/pg_backup_archiver.c.orig Tue Aug 10 08:29:06 2004 --- ./src/bin/pg_dump/pg_backup_archiver.c Thu Aug 12 14:41:35 2004 *************** *** 461,466 **** --- 461,467 ---- opts->format = archUnknown; opts->suppressDumpWarnings = false; + opts->die_on_errors = false; return opts; } *** ./src/bin/pg_dump/pg_restore.c.orig Thu Jul 15 10:29:01 2004 --- ./src/bin/pg_dump/pg_restore.c Thu Aug 12 14:44:13 2004 *************** *** 90,95 **** --- 90,96 ---- {"create", 0, NULL, 'C'}, {"data-only", 0, NULL, 'a'}, {"dbname", 1, NULL, 'd'}, + {"die-on-errors", 0, NULL, 'D'}, {"file", 1, NULL, 'f'}, {"format", 1, NULL, 'F'}, {"function", 1, NULL, 'P'}, *************** *** 141,147 **** } } ! while ((c = getopt_long(argc, argv, "acCd:f:F:h:iI:lL:Op:P:RsS:t:T:uU:vWxX:", cmdopts, NULL)) != -1) { switch (c) --- 142,148 ---- } } ! while ((c = getopt_long(argc, argv, "acCd:Df:F:h:iI:lL:Op:P:RsS:t:T:uU:vWxX:", cmdopts, NULL)) != -1) { switch (c) *************** *** 159,164 **** --- 160,168 ---- case 'd': opts->dbname = strdup(optarg); break; + case 'D': + opts->die_on_errors = true; + break; case 'f': /* output file name */ opts->filename = strdup(optarg); break; *************** *** 321,330 **** /* Let the archiver know how noisy to be */ AH->verbose = opts->verbose; ! /* restore keeps submitting sql commands as "pg_restore ... | psql ... " ! * this behavior choice could be turned into an option. */ ! AH->die_on_errors = false; if (opts->tocFile) SortTocFromFile(AH, opts); --- 325,333 ---- /* Let the archiver know how noisy to be */ AH->verbose = opts->verbose; ! /* whether to keep submitting sql commands as "pg_restore ... | psql ... " */ ! AH->die_on_errors = opts->die_on_errors; if (opts->tocFile) SortTocFromFile(AH, opts); *************** *** 391,396 **** --- 394,400 ---- printf(_(" -p, --port=PORT database server port number\n")); printf(_(" -U, --username=NAME connect as specified database user\n")); printf(_(" -W, --password force password prompt (should happen automatically)\n")); + printf(_(" -D, --die-on-errors die on errors, default is to keep going\n")); printf(_("\nIf no input file name is supplied, then standard input is used.\n\n")); printf(_("Report bugs to .\n"));