summaryrefslogtreecommitdiff
path: root/src/man/pg_upgrade.1
blob: 9923108bac80f03e6536ee07984fea0cc090c1ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
.\" $Header: /cvsroot/pgsql/src/man/Attic/pg_upgrade.1,v 1.2 1998/08/30 05:25:47 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] database
.SH DESCRIPTION
.IR "pg_upgrade"
is a utility for upgrading from a previous PostgreSQL release
without reloading all the data.
First, to be safe, back up your data directory.
Then, use:
.nf

	pg_dumpall -s -o >db.out

.fi
to dump out your old database definitions without data,
while perserving the max system oid.
.PP
Then rename (using
.IR mv )
your old pgsql /data directory to /data.upgrade and do a
.IR "make install"
to install the new binaries.
Then run
.IR initdb
to create a new
.IR template1
database containing the system tables for the new release.
.IR cd
to the pgsql main directory, and type:
.nf

	pg_upgrade -f db.out template1

.fi
The system will do some checking to make sure everything is properly
configured, and run your
.IR db.out
script to create all the databases and tables you had, but with no data.
It will then move the data files from /data.upgrade into the proper
.IR /data
directory.
You can then start the
.IR postmaster
and check out the data.
You can delete the
.IR /data.upgrade
directory when you are finished.
.PP
It can also be used for individual databases. 
.SH "SEE ALSO"
pg_dumpall(1).