From 37c9346ef2af5e7a7d5e3fe25b4d6da3463edc69 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 11 Jan 2002 06:33:01 +0000 Subject: [PATCH] pg_resetxlog specifies log location in hex; more pg_upgrade testing improvments. --- contrib/pg_resetxlog/pg_resetxlog.c | 8 ++++---- src/bin/pg_dump/pg_upgrade | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/contrib/pg_resetxlog/pg_resetxlog.c b/contrib/pg_resetxlog/pg_resetxlog.c index 5fde41f7c8..21af7bee37 100644 --- a/contrib/pg_resetxlog/pg_resetxlog.c +++ b/contrib/pg_resetxlog/pg_resetxlog.c @@ -23,7 +23,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/contrib/pg_resetxlog/Attic/pg_resetxlog.c,v 1.15 2002/01/10 23:46:13 momjian Exp $ + * $Header: /cvsroot/pgsql/contrib/pg_resetxlog/Attic/pg_resetxlog.c,v 1.16 2002/01/11 06:33:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -482,7 +482,7 @@ usage(void) " -f\t force update to be done\n" " -n\t no update, just show extracted pg_control values (for testing)\n" " -x XID set XID in pg_control\n" - " -l log_id offset set checkpoint location in pg_control\n"); + " -l log_id offset set hex checkpoint location in pg_control\n"); exit(1); } @@ -523,11 +523,11 @@ main(int argc, char **argv) argn++; if (argn == argc) usage(); - set_checkpoint.xlogid = strtoul(argv[argn], NULL, 0); + set_checkpoint.xlogid = strtoul(argv[argn], NULL, 16); argn++; if (argn == argc) usage(); - set_checkpoint.xrecoff = strtoul(argv[argn], NULL, 0); + set_checkpoint.xrecoff = strtoul(argv[argn], NULL, 16); if (set_checkpoint.xlogid == 0 && set_checkpoint.xrecoff == 0) { diff --git a/src/bin/pg_dump/pg_upgrade b/src/bin/pg_dump/pg_upgrade index 0dbb489f8f..e893dbfc92 100755 --- a/src/bin/pg_dump/pg_upgrade +++ b/src/bin/pg_dump/pg_upgrade @@ -3,7 +3,9 @@ # pg_upgrade: update a database without needing a full dump/reload cycle. # CAUTION: Read the manual page before trying to use this! -# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_upgrade,v 1.26 2002/01/11 06:08:02 momjian Exp $ +#set -x + +# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_upgrade,v 1.27 2002/01/11 06:33:01 momjian Exp $ # # NOTE: we must be sure to update the version-checking code a few dozen lines # below for each new PostgreSQL release. @@ -106,7 +108,7 @@ Install it from pgsql/contrib/pg_resetxlog and continue.; exiting" 1>&2 exit 1 fi -if ! pg_resetxlog -x | grep -q XID +if ! pg_resetxlog -x 2>&1 | grep -q XID then echo "Old version of pg_resetxlog found in path. Install a newer version from pgsql/contrib/pg_resetxlog.; exiting" 1>&2 exit 1 @@ -261,7 +263,7 @@ fi # Set checkpoint location of new database -pg_resetxlog -l `echo "$CHKPOINT | tr '/' ' '` data +pg_resetxlog -l `echo "$CHKPOINT" | tr '/' ' '` data if [ "$?" -ne 0 ] then echo "Unable to set new checkpoint location.; exiting" 1>&2 exit 1 @@ -278,7 +280,7 @@ fi # Set sequence values for 7.1-version sequences, which were int4. if [ "$SRC_VERSION" = "7.1" ] -else echo "Set int8 sequence values from 7.1..." +then echo "Set int8 sequence values from 7.1..." psql -d template1 -At -c "SELECT datname FROM pg_database" | while read DB @@ -355,10 +357,11 @@ SET relkind = 'S' WHERE relname = '$SEQUENCE'; SQL_END - if [ $? -ne 0 ] - then echo "There were errors during int4 sequence restore. - $0 aborted." 1>&2 - exit 1 + if [ $? -ne 0 ] + then echo "There were errors during int4 sequence restore. +$0 aborted." 1>&2 + exit 1 + fi done done fi