Why do I need to do a dump and restore to upgrade between major PostgreSQL releases?
The PostgreSQL team makes only small changes between minor releases, so upgrading from 7.2 to 7.2.1 does not require a dump and restore. However, major releases (e.g. from 7.2 to 7.3) often change the internal format of system tables and data files. These changes are often complex, so we don’t maintain backward compatability for data files. A dump outputs data in a generic format that can then be loaded in using the new internal format. In releases where the on-disk format does not change, the pg_upgrade script can be used to upgrade without a dump/restore. The release notes mention whether pg_upgrade is available for the release.