Checking for Presence of Required Libraries Fails during PostgreSQL Upgrade

From: TalGloz <glozmantal(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Checking for Presence of Required Libraries Fails during PostgreSQL Upgrade
Date: 2020-05-01 22:03:36
Message-ID: 1588370616126-0.post@n3.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I'm trying to upgrade my PostgreSQL form 10.2 to 11.7 (and eventually to
12.x), when I run:

/usr/pgsql-11/bin/pg_upgrade --old-bindir=/usr/pgsql-10/bin/
--new-bindir=/usr/pgsql-11/bin/ --old-datadir=/var/lib/pgsql/10/data
--new-datadir=/var/lib/pgsql/11/data --check

I get:

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"

my loadable_libraries.txt file shows:

could not load library "myfunc": ERROR: could not access file "myfunc": No
such file or directory
could not load library "randomness": ERROR: could not access file
"randomness": No such file or directory
could not load library "seal_diff_cpp": ERROR: could not access file
"seal_diff_cpp": No such file or directory
could not load library "seal_mean_cxx": ERROR: could not access file
"seal_mean_cxx": No such file or directory
could not load library "seal_mean_cxx_v2": ERROR: could not access file
"seal_mean_cxx_v2": No such file or directory
could not load library "seal_variance_cxx": ERROR: could not access file
"seal_variance_cxx": No such file or directory
could not load library "seal_diff_benchmark": ERROR: could not access file
"seal_diff_benchmark": No such file or Directory

Running:
SELECT proname, probin, pronamespace
FROM pg_proc
WHERE probin IS NOT NULL AND pronamespace = 2200

Results in:

| proname | probin | pronamespace
| bytea_size | randomness | 2200
| sum_of_numbers | myfunc | 2200
| seal_diff_cpp | seal_diff_cpp | 2200
| seal_mean_cxx_v2 | seal_mean_cxx_v2 | 2200
| seal_variance_cxx | seal_variance_cxx | 2200
| seal_diff_benchmark | seal_diff_benchmark | 2200
| seal_mean_cxx | seal_mean_cxx | 2200

All the 7 problematic libraries (.so) are manually created c extension
functions. I can't just move them to /usr/pgsql-11/lib/ because they we
compiled with PostgresSQL10 and not 11.

How can I resolve this issue? How can I delete them properly if porting them
to 11 is a painful process? Deleting them directly form /usr/pgsql-10/lib/
doesn't help.

--
Sent from: https://www.postgresql-archive.org/PostgreSQL-general-f1843780.html

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2020-05-01 22:11:39 Re: Checking for Presence of Required Libraries Fails during PostgreSQL Upgrade
Previous Message David Steele 2020-05-01 17:08:24 Re: Pgbackrest restore options