Yum Upgrade Faq

Oskari Saarenmaa os at sumu.org
Wed Jun 15 15:20:43 UTC 2005


On Wed, Jun 15, 2005 at 08:56:22AM -0400, seth vidal wrote:
> > Unfortunately, I just pulled out OO and the upgrade went fine.  My next
> > question, though really not yum related, is:  What is the proper,
> > recommended, cleanest, easiest, safest way to upgrade PostgreSQL since
> > we've gone from 7.4.x to 8.0.x?  This certainly is something that can
> > bite a lot of folks that don't know that it won't start after the
> > upgrade.
> > 
> 
> I'm afraid I don't have much experience with postgresql upgrades.
> 
> anyone else know?

Here are the steps I have usually used to upgrade my PostgreSQL
installations: first dump the old database, upgrade the system and create a
fresh database, and finally reload the old data in the new database.

  # su postgres -c "pg_dumpall" > /var/lib/pgsql/backups/pg-data-7.4.dump
  # service postgresql stop
  # mv /var/lib/pgsql/data /var/lib/pgsql/backups/pg-data-7.4

  # yum update

  # service postgresql start
  # su postgres -c "psql -U postgres template1" < /var/lib/pgsql/backups/pg-data-7.4.dump

Note that you will have to manually update the *.conf files in
/var/lib/pgsql/data as the old version's configuration files are not
neccessarily compatible with the new version.  I am not sure if 7.4 config
files can be used with 8.0, but at least version 7.3's configs weren't
usable in a 7.4 installation.

Also some of the SQL in your table defaults or custom functions might have
changed its meaning, so you should check your upgraded database to make sure
that things are as expected.  For example in 7.3 or 7.4 update the meaning
of 'now' as a column default changed to mean now() at the table creation
time instead of row creation time, and the fix was to default to now()
instead of 'now'.

So I don't think there really is a totally safe way to upgrade a PostgreSQL
installation, and I guess that's why the RPM doesn't do it automatically.

Cheers,

Oskari




More information about the fedora-devel-list mailing list