PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 22/12/2021 18:35:23

sysgeo
Membre

erreur lors de la migration de postgis 2.5.5 vers 3.1 sur postgres 11

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

#2 22/12/2021 19:12:28

sysgeo
Membre

Re : erreur lors de la migration de postgis 2.5.5 vers 3.1 sur postgres 11

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

#3 22/12/2021 19:17:09

sysgeo
Membre

Re : erreur lors de la migration de postgis 2.5.5 vers 3.1 sur postgres 11

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

Pied de page des forums