обновление кластера postgresql с 9,5 до 11 nominatim.so несовместимо - PullRequest
0 голосов
/ 14 февраля 2019

PostgreSQL 9,5
База данных nominatim
, если я пытаюсь обновить postgresql до 11 с:

sudo pg_upgradecluster -m upgrade -k 9.5 main

результат:

more /var/log/postgresql/pg_upgradecluster-9.5-11-main.Dzbj/loadable_libraries.txt

не удалось загрузить библиотеку«/mnt/data/openstreetmap/nominatim/Nominatim-2.5.1/module/nominatim.so»: ОШИБКА: biblioteca «/mnt/data/openstreetmap/nominatim/Nominatim-2.5.1/mo dule / nominatim.so» несовместима: версия не совпадает DETALLE: сервер версии 11, библиотека версии 9.5.

Какие шаги следует выполнить, чтобы избежать необходимости удалять базу данных и создавать ее заново?

1 Ответ

0 голосов
/ 20 февраля 2019

postgresql от 9,5 до 11
nomintaim с postgis от 2,2 до 2,5

sudo apt-get install curl ca-certificates
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get install postgresql-11
sudo service postgresql stop
sudo pg_dropcluster --stop 11 main
sudo apt-get install postgresql-11-postgis-2.5
sudo apt-get install postgresql-server-dev-11
sudo apt-get install postgresql-doc-11
sudo apt-get install postgresql-contrib
sudo apt-get install postgresql-9.5-postgis-2.5
sudo cp /usr/lib/postgresql/11/lib/postgis-2.5.so /usr/lib/postgresql/11/lib/postgis-2.2.so
sudo cp /usr/lib/postgresql/11/lib/rtpostgis-2.5.so /usr/lib/postgresql/11/lib/rtpostgis-2.2.so
sudo service postgresql start
sudo psql gis postgres -c 'ALTER EXTENSION postgis UPDATE TO "2.5.1";'
sudo psql nominatim postgres -c 'ALTER EXTENSION postgis UPDATE TO "2.5.1";'
sudo service postgresql stop
sudo service postgresql start
sudo -u postgres psql -d nominatim
psql (11.1 (Ubuntu 11.1-3.pgdg16.04+1), servidor 9.5.14)
Digite «help» para obtener ayuda.

nominatim=# SELECT postgis_full_version();
nominatim=# \q
sudo service postgresql stop
su - nominatim
cd /..../Nominatim-3.2.0/
mv build build.old
mkdir build
cd build/
cmake ..
make
sudo pg_upgradecluster -m upgrade 9.5 main
sudo su postgres -c "/usr/lib/postgresql/11/bin/vacuumdb --all --analyze-in-stages"
sudo pg_dropcluster 9.5 main --stop

...

...