Postgis, raccrochage de wagons

Pierre Chevalier Géologue <[email protected]> Thu, 20 Jul 2017 13:01:43 +0200
Newsgroups gmane.comp.db.postgresql.french
Message-ID <[email protected]>
Bonjour, communauté,

Je rencontre un souci, à l'occasion d'une mise à jour un peu inopinée de 
ma Debian. Je me suis retrouvé, à un retour de mission africaine 
(débranchée du réseau), avec de curieux problèmes de dépendances dans 
mon système.
J'ai mis un moment à comprendre que 'stable' était passée de 'jessie' en 
'stretch' (je ne lisais pas les nouvelles, dans le désert...) alors que 
mon /etc/apt/sources.list comprenait des mentions 'stable' (j'essayais 
vainement de me faire un système du genre 'rolling release'...) et que 
mon /etc/apt/sources.list.d/pgdg.list faisait référence à 'jessie'...
Une fois ceci pigé et résolu en mettant du 'stretch' là où il faut, j'ai 
pu remettre mes paquets dans un état propre (j'espère du moins).


Mais déchantement quand je tente alors d'accéder, depuis QGIS, à mes 
tables spatiales: m'assaillent de gros messages d'insultes du genre:

dbname='bdexplo' host=autan port=5432 user='pierre' password='pp' 
key='"numauto"' srid=4326 type=Point 
table="public"."field_observations_points" (geomfromewkt) sql= est une 
couche non valide et ne peut être chargée.


En regardant les logs de postgres, voilà ce qui se passe:

2017-07-20 10:16:32 GMT ERROR:  function srid(geometry) does not exist 
at character 55
2017-07-20 10:16:32 GMT HINT:  No function matches the given name and 
argument types. You might need to add explicit type casts.
2017-07-20 10:16:32 GMT STATEMENT:  SELECT DISTINCT 
upper(geometrytype("geog"::geometry)),srid("geog"::geometry) FROM 
"pierre"."sondages_ims_4326"


Curieux. Et, plus loin:

2017-07-20 10:17:11 GMT ERROR:  could not access file 
"$libdir/postgis-2.1": No such file or directory
2017-07-20 10:17:11 GMT STATEMENT:  SELECT postgis_version()
2017-07-20 10:17:11 GMT ERROR:  could not access file 
"$libdir/postgis-2.1": No such file or directory


Ah. En effet, si je regarde dans mes paquets, ça ne colle pas:

   # root@autan: ~        < 2017_07_20__12_18_15 >
dpkg --get-selections | grep "[[:space:]]install" | grep postgis
postgis                                         install
postgis-doc                                     install
postgresql-9.4-postgis-2.3-scripts              install
postgresql-9.4-postgis-scripts                  install
postgresql-9.5-postgis-2.3-scripts              install
postgresql-9.5-postgis-scripts                  install
postgresql-9.6-postgis-2.3                      install
postgresql-9.6-postgis-2.3-scripts              install


Je précise que le cluster que j'utilise est le 9.4.
Après avoir un peu cherché, il apparaît que je doive mettre à jour 
l'extension postgis dans ma base. Quoi de plus normal, en effet. Tentons:

--[local] postgres@bdexplo=#
ALTER EXTENSION postgis UPDATE;
ERROR:  could not access file "$libdir/postgis-2.3": No such file or 
directory
--[local] postgres@bdexplo=#


Ach.
La variable d'environnement $libdir ne semble point renseignée au niveau 
de mon shell:

postgres@autan:~$ echo $libdir

postgres@autan:~$


J'ai complètement oublié comment l'on accède à une variable 
d'environnement depuis mon psql préféré.

Serait-ce une variable interne à postgres?

En attendant, il y a du monde dans 
/usr/share/postgresql/9.4/contrib/postgis-2.3


À ce moment, je me dis que je ferais peut-être bien de migrer ma base 
sur mon cluster 9.6 de postgresql.
Ou, tant qu'à faire, devrais-je plutôt faire un plus grand saut et me 
tenter une compilation d'un postgresql 10? Vos avis éclairés sur la 
question? (sachant que mes bases sont en production, mais avec moi-même 
uniquement comme utilisateur en ce moment, donc je peux souffrir de 
pannes et menus inconvénients, voire bêta-tester entre 2 avions).

À+
Pierre

Post-scriptum: pas si facile, avec une vie expatriée saharienne et 
débranchée, de raccrocher les wagons avec la vivacité d'évolution des 
logiciels Libres! Mais c'est chouette!

-- 
____________________________________________________________________________
Pierre Chevalier
PChGEI: Pierre Chevalier Géologue Et Informaticien
     Mesté Duran 32100 Condom
   Tél    :   06 37 80 33 64
   Émail  :   pierrechevaliergeolCHEZfree.fr
   Tweeter:   PierreChTux
   icq#   :   10432285
   jabber: [email protected]
   http://pierremariechevalier.free.fr/pierre_chevalier_geologue
____________________________________________________________________________


--
Envoi via la liste pgsql-fr-generale ([email protected])