Thread: Upgrade path for contrib modules
What is the intended upgrade path for databases using contrib modules? Because I'm trying to test out my database under a CVS compiled postgres and running into problems. It seems you can't count on a simple pg_dump/pg_restore working because functions needed for various operators and index access methods might not be found in the new module. at least that's what I think is going on when I get messages like this: pg_restore: [archiver (db)] could not execute query: ERROR: could not find function "int2key_in" in file "/usr/local/pgsql/lib/btree_gist.so" pg_restore: [archiver (db)] could not execute query: ERROR: function public.int2key_in(cstring) does not exist pg_restore: [archiver (db)] could not execute query: ERROR: type int2key does not exist pg_restore: [archiver (db)] could not execute query: ERROR: type "int2key" does not exist pg_restore: [archiver (db)] could not execute query: ERROR: function int2key_in(cstring) does not exist pg_restore: [archiver (db)] could not execute query: ERROR: type "public.int2key" does not exist I'm hoping letting the pg_restore run to completion and then running the btree_gist.sql file afterwards will produce a working setup, but I expect I may be missing some indexes. Similarly I expect I'll have problems with PL functions or views that use operators that failed to get reloaded properly. Am I missing something? Is it really this touchy dealing with external modules and version skew? It would be nice to get some of the external linking aspects out of my database so that dumping and loading it worked independently of the outside world. I'm not sure how to go about doing that though. -- greg
Greg Stark <gsstark@mit.edu> writes: > What is the intended upgrade path for databases using contrib modules? Normally you just upgrade 'em ... > pg_restore: [archiver (db)] could not execute query: ERROR: could not find function "int2key_in" in file "/usr/local/pgsql/lib/btree_gist.so" ... however, what it looks like here is that the CVS-tip version of contrib/btree_gist has got a completely different API than 7.4 did. I suggest you beat up Oleg and Teodor about providing an upgrade path. This isn't a Postgres bug per se, it's a btree_gist bug. regards, tom lane