Re: Pg_upgrade error could not load library from 7.14/8.4 to 10.10 version
Achilleas Mantzios <[email protected]> Thu, 19 Sep 2019 17:07:22 +0300
| Newsgroups | gmane.comp.db.postgresql.admin |
|---|---|
| Message-ID | <[email protected]> |
On 19/9/19 4:57 μ.μ., Tom Lane wrote: > Ekaterina Amez <[email protected]> writes: >> El 19/9/19 a las 10:07, Achilleas Mantzios escribió: >>> On 19/9/19 10:49 π.μ., Ekaterina Amez wrote: >>>> 2019-09-19 08:53:50.345 CEST [2283] postgres@template1 ERROR: could not load library "/usr/lib/postgresql/8.4/lib/plpgsql.so": /usr/lib/postgresql/8.4/lib/plpgsql.so: undefined symbol: SPI_push > This error is clearly due to trying to load the 8.4 version of plpgsql.so > into the v10 server. Yup, in the log, right after the "undefined symbol: SPI_push" ERROR there are entries about logical replication, those could not have come from the 8.4 server. Arghhh I didn't watch close enough. Thanx > >> With these results, finally I've: >> 1- modified template1 in PG 8.4 server to include plpgsql language, >> so it can be inherited in new databases created from this template. >> 2- Dropped and recreated my database (let's call it newdb). > This probably fixed it by ensuring that the plpgsql support functions > were declared with the standard value of probin. > >> The conclusion is that I can avoid the use of plpgsql.so library. My >> question now would be related about the creation of the language in >> version 8.4: is it better to create it at template level or at database >> level? > I would not sweat too much about this, since you don't intend to keep > using 8.4 (or at least I hope not). Since 9.0, plpgsql is automatically > installed at initdb time and there's no need for an additional copy. > > regards, tom lane > > -- Achilleas Mantzios IT DEV Lead IT DEPT Dynacom Tankers Mgmt