pg_upgrade.sh(1) PostgreSQL Server Applications pg_upgrade.sh(1)NAMEpg_upgrade.sh - database upgrade script from PostgreSQL 8.1 to 8.2
SYNOPSISpg_upgrade.sh [-m] [-s old-datadir] [-d new-datadir] pg_upgrade.sh
[-h|--help]
DESCRIPTION
The pg_upgrade.sh script is a utility which converts a database cluster
created by PostgreSQL version 8.1 to version 8.2. Full path to the
script is /usr/postgres/upgrade/bin/pg_upgrade.sh .
This script will copy data from an existing PostgreSQL 8.1 database
(given with the -s switch), create a new PostgreSQL 8.2 database (in a
directory given by the -d switch), and populate it with the data from
the PostgreSQL 8.1 database.
Please backup your PostgreSQL data directory before upgrading with
pg_upgrade.sh.
The upgrade process copies pg_hba.conf and pg_indent.conf into the new
data directory. The postgresql.conf is copied as postgresql.conf.old
and it is necessary to manually setup the new postgresql.conf, else the
default configuration will be used.
OPTIONS-m Move data files instead of copying them (copy mode is default,
as it is considered safer).
-s old-datadir
The directory where the PostgreSQL 8.1 database cluster resides.
The default value is given in the PG_OLD_DATADIR environment
variable.
-d new-datadir
Directory where the PostgreSQL 8.2 database cluster should be
stored. The pg_upgrade.sh script will create the database in
this directory (run initdb). The default value is given in the
PG_NEW_DATADIR environment variable.
-h, --help
Show help on how to use the command.
ENVIRONMENT VARIABLES
The upgrade utility uses standard predefined path for PostgreSQL data‐
base cluster and binaries. These paths can be redefined by the follow‐
ing environment variables:
Variable Description
PG_OLD_BINDIR Binary directory for PostgreSQL 8.1
PG_OLD_DATADIR Data directory for PostgreSQL 8.1 database cluster
PG_NEW_BINDIR Binary directory for PostgreSQL 8.2
PG_NEW_DATADIR Data directory where upgraded database will be placed.
PG_UPG_CFG Directory for configuration files
Default values:
Variable Default value
PG_OLD_BINDIR /usr/postgres/upgrade/81/bin
PG_OLD_DATADIR /var/lib/pgsql
PG_NEW_BINDIR /usr/postgres/8.2/bin
PG_NEW_DATADIR /var/postgres/8.2/data
PG_UPG_CFG /usr/postgres/upgrade/etc/
LIMITATIONS
Upgrade does not support data types inet and cidr. If these data types
are used in a database standard upgrade procedure must be performed.
(see PostgreSQL documentation and postgres_82(5))
Table, schema, database, view and tablespace names cannot contain "|"
(pipe), "'" (single quote) or "\" (backslash) characters.
This script can only be used for updating a PostgreSQL database in
place. It will not update a database and simultaneously move it from
one computer to another computer.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWpostgres-upgrade │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Volatile │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOinitdb(1), pg_ctl(1), postgres(1), pg_dump(1), pg_restore(1), post‐
gres_82(5)REFERENCES
http://www.postgresql.org/
2008-03-25 pg_upgrade.sh(1)