Si vous avez installé la version 1.2.0 de PostGIS et que vous possédiez déjà des bases de données spatiales utilisant une version antérieur, vous avez sans doute rencontré des problèmes lors de la première tentative de "mise à jour légère" de votre base.
Plus précisément lors de la tentative de chargement du fichier lwpostgis_upgrade.sql
vous avez eut un message d'erreur lors de la tentative d'utilisation de la requête SQL : SELECT postgis_lib_version()
car elle faisait référence à un fichier liblwgeom.so.1.1
qui n'existe effectivement plus.
En effet ceci est dû au fait que la version 1.2.0 implique un nouveau nom pour la librarie dynamique liblwgeom.so
. Les versions 1.1.X utilisaient liblwgeom.so.1.1
qui devient, pour une version 1.2.0, liblwgeom.so.1.2
(ntdpf : pour résumer, pour postgis-majeur.mineur.révision
le nom de la librairie correspondante est donc liblwgeom.so.majeur.mineur
).
La première solution qui vient à l'esprit consiste simplement en la création d'un lien symbolique (ln -s) de liblwgeom.so.1.1
vers la nouvelle librarie dynamique liblwgeom.so.1.2
(ou liblwgeom.so
). Cela fonctionne d'ailleurs parfaitement.
Malgrès tout cette solution ne me convenait pas. Supposons en effet que vous oubliez de supprimer le lien symbolique que vous avez créer lors de la mise à jour légère, qu'adviendrait-il alors si vous souhaitiez installer de nouveau une version antérieur (le lien symbolique existant déjà) ? De tout manière, dans l'objectif de créer des ebuilds pour postgis, il n'était pas acceptable de créer ce lien symbolique.
J'ai donc cherché et trouvé une façon simple et rapide de résoudre ce problème, elle consiste simplement à recréer l'ensemble des functions utilisant le language C afin de spécifier le nom correct de la librarie dynamique liblwgeom.so
. Cela se fait tout simplement en utilisant un simple grep
de façon suivante :
> loadBeforeUpgrade.sql
# psql ma_base -f loadBeforeUpgrade.sql
Une fois ceci réalisé vous devriez être capable de réaliser la "mise à jour légère" de votre base sans aucun problème (pour plus d'informations concernant la mise à jour légère regardez donc ici).
Remarque : cette méthode reste valable pour un passage à une version inférieur à celle déjà installée et chargé dans votre base.
Posted in Le blogue de djay | Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | printer friendly version | 3462 lectures
Posté par djay le 19 Décembre, 2006 - 19:12.