Re: pain of postgres upgrade with extensions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: paul rivers <rivers(dot)paul(at)gmail(dot)com>
Cc: dave(dot)potts(at)pinan(dot)co(dot)uk, pgsql-general(at)postgresql(dot)org
Subject: Re: pain of postgres upgrade with extensions
Date: 2008-03-12 19:19:09
Message-ID: 28716.1205349549@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

paul rivers <rivers(dot)paul(at)gmail(dot)com> writes:
> Is this something that wouldn't be fixed by:

> - dump 8.2 database
> - load dump into 8.3 database
> - for each extension, run the 8.2 drop extension script in 8.2's contrib
> - for each extension, run the 8.3 install extension script in 8.3's contrib

The trouble with that is that step 3 also drops anything that depends on
the extension. Doesn't work very well for data types, for instance,
since you'd lose any user-table columns of that type.

The trick that seems to work fairly well (and ought to be better
documented) is

- dump version N database
- create empty version N+1 database
- install N+1's version of each needed contrib module into new database
- restore dump, ignoring "object already exists" errors

There is a TODO to figure out some cleaner way of handling this sort
of thing ...

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kynn Jones 2008-03-12 19:20:45 Re: Trigger to run @ connection time?
Previous Message Glyn Astill 2008-03-12 18:49:50 Re: postgre vs MySQL