While minor upgrades between versions are fairly simple, and require only the installation of new executables, past major version upgrades have been both expensive and time consuming. pg_upgrade facilitates migration between any version of Advanced Server (version 9.0 or later), and any subsequent release of Advanced Server that is supported on the same platform.Without pg_upgrade, to migrate from an earlier version of Advanced Server to Advanced Server 9.4, you must export all of your data using pg_dump, install the new release, run initdb to create a new cluster, and then import your old data. If you have a significant amount of data, that can take a considerable amount of time and planning. You may also have to use additional storage to temporarily accommodate both the original data and the exported data.pg_upgrade can reduce both the amount of time required and the disk space required for many major-version upgrades.The pg_upgrade utility performs an in-place transfer of existing data between Advanced Server and any subsequent version.
• Before performing a version upgrade, pg_upgrade will verify that the two clusters (the old cluster and the new cluster) are compatible.If the upgrade involves a change in the on-disk representation of database objects or data, or involves a change in the binary representation of data types, pg_upgrade will be unable to perform the upgrade; to upgrade, you will have to pg_dump the old data and then import that data into the new cluster.The pg_upgrade executable is distributed with Postgres Plus Advanced Server 9.4, and is installed as part of the Database Server component; no additional installation or configuration steps are required.