You should blog this. David
On Mar 2, 2011, at 11:58 AM, Tom Lane wrote: > It occurred to me that it might be a good idea to describe how > I've been testing extension upgrade scripts. So: > > 1. Install the 9.0 version of the module in an empty 9.0 database. > pg_dump this database. > > 2. Load the pg_dump script into an empty 9.1 database, with the > underlying shared library (if any) available in $libdir but not > installed as SQL. (If this fails, probably you removed a C > function from the library.) > > 3. Execute "CREATE EXTENSION whatever FROM unpackaged;". (If this > fails, obviously you have work to do.) > > 4. pg_dump --binary-upgrade from the 9.1 database. (You need > --binary-upgrade or pg_dump won't show the member objects of the > extension.) > > 5. Install the 9.1 version of the extension in another empty > database, using plain "CREATE EXTENSION whatever". Then > pg_dump --binary-upgrade from that. > > 6. Diff the two 9.1 dump scripts. They should be the same except > for OID and frozenxid numbers. If not, the upgrade script has > missed something it needs to do to update the catalog entries. > > > Of course, a similar approach will be useful for testing scripts > that are meant to update from one extension version to another, > once we arrive at the point of needing to do that. > > regards, tom lane > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers