Vous n'êtes pas identifié(e).
Nous souhaiterions passer le postgis 2.5.5 vers la version 3.1 (pour l'instant sur un serveur de test avant de migrer le serveur de production)
Notre serveur de test est sur rocky linux 8
Notre serveur de production sur centos 7
Nous avons téléchargé le repo de postgresql pour pouvoir télécharger les packets :
<pre>
sudo dnf install -y https://download.postgresql.org/pub/rep … noarch.rpm
sudo dnf -qy module disable postgresql
</pre>
puis nous avons installé le packet geos310
<pre>
sudo dnf install geos310
</pre>
Puis nous devons passer à la version 31 de postgis soit le packet postgis31_11, nous avons actuelement le packet postgis25_11 d'installé
<pre>
sudo dnf install postgis31_11
</pre>
Mais il y a des conflits avec le packet postgis25_11 déja installé:
<pre>
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:02:55 le mer. 22 déc. 2021 16:15:12 UTC.
Dépendances résolues.
==============================================================================================================================================================================================================================================
Paquet Architecture Version Dépôt Taille
==============================================================================================================================================================================================================================================
Installation:
postgis31_11 x86_64 3.1.4-1.rhel8 pgdg11 4.9 M
Installation des dépendances:
gdal33-libs x86_64 3.3.3-1.rhel8 pgdg-common 8.4 M
proj81 x86_64 8.1.1-1.rhel8 pgdg-common 2.4 M
Résumé de la transaction
==============================================================================================================================================================================================================================================
Installer 3 Paquets
Taille totale : 16 M
Taille des paquets installés : 73 M
Voulez-vous continuer ? [o/N] : o
Téléchargement des paquets :
[SKIPPED] gdal33-libs-3.3.3-1.rhel8.x86_64.rpm: Already downloaded
[SKIPPED] proj81-8.1.1-1.rhel8.x86_64.rpm: Already downloaded
[SKIPPED] postgis31_11-3.1.4-1.rhel8.x86_64.rpm: Already downloaded
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 1.5 GB/s | 16 MB 00:00
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Les paquets téléchargés ont été mis en cache jusqu’à la prochaine transaction réussie.
Vous pouvez supprimer les paquets en cache en exécutant « dnf clean packages ».
Erreur : Erreur de la transaction de test :
le fichier /usr/pgsql-11/share/extension/address_standardizer.control de l'installation de postgis31_11-3.1.4-1.rhel8.x86_64 entre en conflit avec le fichier du paquet postgis25_11-2.5.5-4.rhel8.x86_64
le fichier /usr/pgsql-11/share/extension/address_standardizer.sql de l'installation de postgis31_11-3.1.4-1.rhel8.x86_64 entre en conflit avec le fichier du paquet postgis25_11-2.5.5-4.rhel8.x86_64
le fichier /usr/pgsql-11/share/extension/address_standardizer_data_us.control de l'installation de postgis31_11-3.1.4-1.rhel8.x86_64 entre en conflit avec le fichier du paquet postgis25_11-2.5.5-4.rhel8.x86_64
le fichier /usr/pgsql-11/share/extension/postgis.control de l'installation de postgis31_11-3.1.4-1.rhel8.x86_64 entre en conflit avec le fichier du paquet postgis25_11-2.5.5-4.rhel8.x86_64
le fichier /usr/pgsql-11/share/extension/postgis_sfcgal.control de l'installation de postgis31_11-3.1.4-1.rhel8.x86_64 entre en conflit avec le fichier du paquet postgis25_11-2.5.5-4.rhel8.x86_64
le fichier /usr/pgsql-11/share/extension/postgis_tiger_geocoder.control de l'installation de postgis31_11-3.1.4-1.rhel8.x86_64 entre en conflit avec le fichier du paquet postgis25_11-2.5.5-4.rhel8.x86_64
le fichier /usr/pgsql-11/share/extension/postgis_topology.control de l'installation de postgis31_11-3.1.4-1.rhel8.x86_64 entre en conflit avec le fichier du paquet postgis25_11-2.5.5-4.rhel8.x86_64
</pre>
doc je ne peux pas installer ce packet.
le problème c'est que si je retire le packet postgis25_11 avant, je peux bien installer postgis31_11 mais dans postgres je ne peux pas mettre à jour postgis car il a besoin de la version 2.5 pour se mettre à jour.
<pre>
SELECT postgis_extensions_upgrade();
WARNING: unpackaging raster
WARNING: PostGIS Raster functionality has been unpackaged
ASTUCE : type `SELECT postgis_extensions_upgrade();` to finish the upgrade. After upgrading, if you want to drop raster, run: DROP EXTENSION postgis_raster;
ERROR: could not access file "$libdir/postgis-2.5": No such file or directory
CONTEXTE : PL/pgSQL function _postgis_drop_function_if_needed(text,text) line 6 at FOR over SELECT rows
SQL statement "ALTER EXTENSION postgis UPDATE TO "3.1.4";"
PL/pgSQL function postgis_extensions_upgrade() line 22 at EXECUTE
</pre>
je ne trouve rien sur internet qui parle de ce problème.
J'ai aussi tenté de faire l'install sur centos 7 mais je rencontre exactement le même problème.
Hors ligne
Après une après midi nous avons trouvé le problème:
il manque la librairie 2.5 dans le packet postgis31_11, nous l'avons contourné en créant un lien symbolique.
Voici la procédure qui a fonctionné:
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql
dnf remove postgis25_11
dnf install postgis31_11 geos110
##pour postgres il faut les 2 versions de l'extension installés en même temps donc le truc est de rajouter un lien symbolique
ln -s /usr/pgsql-11/lib/postgis-3.so /usr/pgsql-11/lib/postgis-2.5.so
##Puis avec le user postgres
psql -U postgres -d ma_base -c "SELECT postgis_extensions_upgrade();"
##si on veut voir si tout s'est bien passé:
psql -U postgres -d ma_base -c "SELECT postgis_full_version();"
##on peut maintenant se débarrasser du lien symbolique
rm /usr/pgsql-11/lib/postgis-2.5.so
Hors ligne
A noter que dans le packet postgis30_11 la librairie 2.5 existe bien.
Nous aurions donc probablement pu passer de 2.5 à 3.0 puis de 3.0 à 3.1 sans le lien symbolique. Mais cette façon de faire n'est pas non plus explicité dans la documentation donc il y a bien un soucis de packet je pense.
Hors ligne