Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
2913d655
Commit
2913d655
authored
Aug 31, 1998
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Preserver pg_log and pg_variable in upgrade. Cleanups.
parent
a753e5d1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
32 deletions
+24
-32
src/bin/pg_dump/pg_upgrade
src/bin/pg_dump/pg_upgrade
+15
-20
src/man/pg_upgrade.1
src/man/pg_upgrade.1
+9
-12
No files found.
src/bin/pg_dump/pg_upgrade
View file @
2913d655
...
...
@@ -2,7 +2,7 @@
trap "rm -f /tmp/$$" 0 1 2 3 15
if [ "$#" -eq 0 ]
then echo "Usage: $0 [-f inputfile] old_data_dir
database
" 1>&2
then echo "Usage: $0 [-f inputfile] old_data_dir" 1>&2
exit 1
fi
...
...
@@ -16,13 +16,12 @@ then INPUT="$2"
else INPUT=""
fi
if [ "$#" -ne
2
]
then echo "Usage: $0 [-f input
_file] old_data_dir database
" 1>&2
if [ "$#" -ne
1
]
then echo "Usage: $0 [-f input
file] old_data_dir
" 1>&2
exit 1
fi
OLDDIR="$1"
DATABASE="$2"
# check things
...
...
@@ -36,8 +35,8 @@ then echo "You must rename your old /data directory to /$OLDDIR and run initdb."
exit 1
fi
if [ ! -d "./$OLDDIR/
data/base/$DATABASE
" ]
then echo "There is not database
$DATABASE in ./$OLDDIR/data
/base." 1>&2
if [ ! -d "./$OLDDIR/
base/template1
" ]
then echo "There is not database
template1 in ./$OLDDIR
/base." 1>&2
exit 1
fi
...
...
@@ -53,17 +52,12 @@ fi
# do I need to create a database?
if [ "$DATABASE" != "template1" ]
then echo "Dropping and recreating database $DATABASE." 1>&2
destroydb "$DATABASE" >/dev/null 2>&1
createdb "$DATABASE"
fi
# remove any COPY statements, preserve pgdump_oid setting from pg_dumpall
# remove any COPY statements
# we don't even need pgdump_oid because we are moving pg_variable
# then shouldn't be in there anyway
cat $INPUT | awk ' {
if (toupper($0) ~ /^COPY / &&
toupper($0) !~ /^COPY[ ]*PGDUMP_OID/ )
if (toupper($0) ~ /^COPY /)
while (getline $0 > 0 && $0 != "\\.")
;
else print $0;
...
...
@@ -71,16 +65,14 @@ cat $INPUT | awk ' {
#create empty tables/indexes
psql "$DATABASE" <"/tmp/$$"
set -x
psql "template1" <"/tmp/$$"
for DIR in data/base/*
do
BASEDIR="`basename $DIR`"
if [ -d "$DIR" -a \
-d "$OLDDIR/$DIR" -a \
\( "$DATABASE" = "$BASEDIR" -o "$DATABASE" = "template1" \) ]
then for FILE in $OLDDIR/$DIR/*
-d "$OLDDIR/base/$BASEDIR" -a \( "$BASEDIR" != "template1" \) ]
then for FILE in $OLDDIR/base/$BASEDIR/*
do
BASEFILE="`basename $FILE`"
if [ `expr "$BASEFILE" : "pg_"` -ne 3 -a \
...
...
@@ -91,4 +83,7 @@ do
fi
done
mv $OLDDIR/pg_log data
mv $OLDDIR/pg_variable data
echo "You may removed the $OLDDIR directory with 'rm -r $OLDDIR'."
src/man/pg_upgrade.1
View file @
2913d655
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
.\" $Header: /cvsroot/pgsql/src/man/Attic/pg_upgrade.1,v 1.
3 1998/08/30 13:14:00
momjian Exp $
.\" $Header: /cvsroot/pgsql/src/man/Attic/pg_upgrade.1,v 1.
4 1998/08/31 04:32:18
momjian Exp $
.TH pg_upgrade UNIX 1/20/96 PostgreSQL PostgreSQL
.SH NAME
pg_upgrade - allows upgrade from a previous release without reloading data
.SH SYNOPSIS
.BR pg_upgrade
[-f input_file] old_data_dir
database
[-f input_file] old_data_dir
.SH DESCRIPTION
.IR "pg_upgrade"
is a utility for upgrading from a previous PostgreSQL release
...
...
@@ -15,27 +15,28 @@ First, to be safe, back up your data directory.
Then, use:
.nf
pg_dumpall -s
-o
>db.out
pg_dumpall -s >db.out
.fi
to dump out your old database definitions without
data,
while perserving the max system oid
.
to dump out your old database definitions without
any data.
Stop the postmaster and all backends
.
.PP
Then rename (using
.IR mv )
your old pgsql /data directory to /data.old and do a
.IR "make install"
to install the new binaries.
Then r
un
R
un
.IR initdb
to create a new
.IR template1
database containing the system tables for the new release.
Start the new postmaster,
.IR cd
to the pgsql main directory, and type:
.nf
pg_upgrade -f db.out data.old
template1
pg_upgrade -f db.out data.old
.fi
The system will do some checking to make sure everything is properly
...
...
@@ -45,13 +46,9 @@ script to create all the databases and tables you had, but with no data.
It will then move the data files from /data.old into the proper
.IR /data
directory.
You can then start the
.IR postmaster
and check out the data.
You can then check out the data.
You can delete the
.IR /data.old
directory when you are finished.
.PP
It can also be used for individual databases.
.SH "SEE ALSO"
pg_dumpall(1).
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment