Обсуждение: Missing loadable libraries when running pg_upgrade 9.1 -> 9.2
using Windows XP SP3 (32bit). When running pg_upgrade with the --check option I get the following error: Your installation references loadable libraries that are missing from the new installation. You can add these libraries to the new installation, or remove the functions using them from the old installation. A list of problem libraries is in the file: loadable_libraries.txt The content of loadable_libraries.txt is: Could not load library "$libdir/targetinfo" ERROR: could not access file "$libdir/targetinfo": No such file or directory Could not load library "$libdir/plugins/plugin_debugger" ERROR: could not access file "$libdir/plugins/plugin_debugger": No such file or directory And indeed there is no targetinfo.dll and no plugin_debugger.dll for 9.2 (there isn't even a plugins directory in lib) The relevant entries in the postgresql.conf for 9.1 are this: #shared_preload_libraries = '' # (change requires restart) #dynamic_library_path = '$libdir' #local_preload_libraries = '' So I'm a bit stumped on why pg_upgrade thinks that I'm using those libraries. Is there a way to find out which function (orextension?) is using those libraries in order to remove that dependency? The alternative would be to install those libraries, but the StackBuilder doesn't list them, and I didn't find anything inpgAdmin that would allow me to install them. They weren't installed with the installer and they are not part of the WindowsZIP distribution either. Any ideas? Thanks in advance Thomas
Thomas Kellerer wrote on 12.09.2012 11:09: > Is there a way to find out which function (or extension?) is using those libraries in order to remove that dependency? What I ended up doing is to search through my pg_dump backups and I found the "offending" database. After removing the functions in question, everything went smoothly. Is there a better way to find those functions rather than doing a grep on the dump files? Thomas
On Wed, Sep 12, 2012 at 12:03:21PM +0200, Thomas Kellerer wrote: > Thomas Kellerer wrote on 12.09.2012 11:09: > >Is there a way to find out which function (or extension?) is using those libraries in order to remove that dependency? > > What I ended up doing is to search through my pg_dump backups and I found the "offending" database. > After removing the functions in question, everything went smoothly. > > Is there a better way to find those functions rather than doing a grep on the dump files? Well, pg_upgrade uses SQL queries to find those entries, so you could turn on logging and look at the SQL queries that look in the pg_proc table for such entries. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +