Thread: pg_upgrade 9.5.1: pg_upgrade_support missing
Hello,
The file loadable_libraries.txt contains:
i tried to migrate a database cluster from pg 9.4.1 to 9.5.1 with pg_upgrade. I got the follwing error:
c:\Temp>"C:\Program Files\PostgreSQL\9.5\bin\pg_upgrade" -b "C:\Program Files\PostgreSQL\9.4\bin" -B "C:\Program Files\PostgreSQL\9.5\bin" -
d "C:\Program Files\PostgreSQL\9.4\data" -D "C:\Program Files\PostgreSQL\9.5\data" -p 5433 -P 5432 -U postgres
Performing Consistency Checks
-----------------------------
Checking cluster versions ok
Checking database user is the install user ok
Checking database connection settings ok
Checking for prepared transactions ok
Checking for reg* system OID user data types ok
Checking for contrib/isn with bigint-passing mismatch ok
Creating dump of global objects ok
Creating dump of database schemas
ok
Checking for presence of required libraries fatal
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
Failure, exiting
The file loadable_libraries.txt contains:
Could not load library "$libdir/pg_upgrade_support"
FEHLER: konnte nicht auf Datei „$libdir/pg_upgrade_support“ zugreifen: No such file or directory
I tried to copy the dll from the 9.4 version but the interface seems not to be compatible.
I use postgres under Windows 7 64 Bit.
Note: This is a question first asked here: https://www.pg-forum.de/viewtopic.php?f=54&t=7495
Thanks,
Tobias
On 03/02/2016 01:42 AM, schoetbi schoetbi wrote: > Hello, > > i tried to migrate a database cluster from pg 9.4.1 to 9.5.1 with > pg_upgrade. I got the follwing error: > > c:\Temp>"C:\Program Files\PostgreSQL\9.5\bin\pg_upgrade" -b > "C:\Program Files\PostgreSQL\9.4\bin" -B "C:\Program > Files\PostgreSQL\9.5\bin" - > d "C:\Program Files\PostgreSQL\9.4\data" -D "C:\Program > Files\PostgreSQL\9.5\data" -p 5433 -P 5432 -U postgres > Performing Consistency Checks > ----------------------------- > Checking cluster versions ok > Checking database user is the install user ok > Checking database connection settings ok > Checking for prepared transactions ok > Checking for reg* system OID user data types ok > Checking for contrib/isn with bigint-passing mismatch ok > Creating dump of global objects ok > Creating dump of database schemas > ok > Checking for presence of required libraries fatal > 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 > Failure, exiting > > > The file loadable_libraries.txt contains: > > > Could not load library "$libdir/pg_upgrade_support" > FEHLER: konnte nicht auf Datei „$libdir/pg_upgrade_support“ > zugreifen: No such file or directory > > > > I tried to copy the dll from the 9.4 version but the interface seems not > to be compatible. > > I use postgres under Windows 7 64 Bit. So how did you install Postgres(and from where) and was it different for 9.4 versus 9.5? > > Note: This is a question first asked here: > https://www.pg-forum.de/viewtopic.php?f=54&t=7495 > > Thanks, > Tobias -- Adrian Klaver adrian.klaver@aklaver.com
schoetbi schoetbi <tobias.schoenit@gmail.com> writes: > i tried to migrate a database cluster from pg 9.4.1 to 9.5.1 with > pg_upgrade. I got the follwing error: >> Could not load library "$libdir/pg_upgrade_support" Hmm, pg_upgrade_support isn't a separate library anymore; it's been merged into core. I would not have expected that to cause any problems, because the functions in that library shouldn't have been referenced in your old database in the first place. They were supposed to be installed and then removed again during the process of (prior versions of) pg_upgrade. I'm guessing you had leftovers from old failed pg_upgrade attempts that you never completed. What you want to do is simply manually drop the functions referencing $libdir/pg_upgrade_support. A look into the pg_upgrade sources suggests that this ought to do it: DROP SCHEMA IF EXISTS binary_upgrade CASCADE; though you'll probably have to do that in every database of the installation. regards, tom lane
Hello, I tried to delete all binary_upgrade schematas using this: $ psql -tc "SELECT datname FROM pg_database" -U postgres -p 5433 | xargs -I {} psql -d {} -U postgres -p 5433 -tc "drop schema if exists binary_upgrade cascade;" But got this: output is not a tty So I got the dblist from pgadmin and saved to file: That worked: $ cat dblist.txt | xargs -I {} psql -d {} -U postgres -p 5433 -tc "drop schema if exists binary_upgrade cascade;" pg_upgrade succeeded with the step: Checking for presence of required libraries ok But then I got: Checking database user is the install user Only the install user can be defined in the new cluster. Failure, exiting But this is the next story ;-) I can assure that deleting the schematas from the source db solves my initial problem. Thanks for your help, Tobias Schönit -- View this message in context: http://postgresql.nabble.com/pg-upgrade-9-5-1-pg-upgrade-support-missing-tp5890202p5890380.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.