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
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 |