Vous n'êtes pas identifié(e).
Bonjour,
J'essaie de mettre à jour PostGIS de 3.1 à 3.2 sous PostgreSQL 13 WIndows server R8.
En utilisant stackbuilder, j'ai téléchargé le bundle PostGIS 3.2.
Pendant l'installation, j'ai eu des erreurs "could not open for writing" de certains fichiers dll (libcurl-4.dll par exemple).
J'ai lu sur stackexchange notamment que je pouvais ignorer ce message...
A la fin de l'installation de Postgis, je me connecte à une base de données et j'exécute
Begin ;
alter extension POSTGIS
update to "3.2.0
J'ai eu une erreur : impossible de charger la bibliothèque
"C:/Program Files/PostgreSQL/13/lib/postgis-3.2.dll" : erreur inconnue 127
A partir de là, y a-t-il un moyen de charger la bibliothèque correctement ? Ou si je dois recommencer depuis le début, comment puis-je éviter les erreurs de dll ?
Merci
Hors ligne
Salut
Que dit le log "C:/Program Files/PostgreSQL/13/data/log"?
Si le fichier "C:/Program Files/PostgreSQL/13/lib/postgis-3.2.dll" existe, il faut voir les droits d'accès pour le compte "service reseau".
@+
Hors ligne
dans le fichier de log, je trouve :
2022-01-11 13:40:27.314 CET [3224] 11 db=blois,user=POSTGIS ERROR: 58P01: could not load library "C:/Program Files/PostgreSQL/13/lib/postgis-3.2.dll": unknown error 127
2022-01-11 13:40:27.314 CET [3224] 12 db=blois,user=POSTGIS LOCATION: internal_load_library, d:\pginstaller_13.auto\postgres.windows-x64\src\backend\utils\fmgr\dfmgr.c:248
2022-01-11 13:40:27.314 CET [3224] 13 db=blois,user=POSTGIS STATEMENT: begin;
alter extension POSTGIS
update to "3.2.0"
rien de plus.
Et le postgis-3.2dll est bien présent dans le répertoire.
Hors ligne
Il faut donc vérifier les droits d'accès à ce fichier comme préconisé par alassanediakite. Cela pourrait également valoir le coup de vérifier si cela vient d'un antivirus bloquant l'accès.
Julien.
https://rjuju.github.io/
En ligne
Pour être complet : j'ai procédé à la mise à jour sur un serveur de test avant de faire celle sur le serveur de prod.
Les deux serveurs sont sous le même windows server, avec le même Postgres.
La mise à jour sur le server test s'est faite sans anicroche contrairement au serveur de prod.
A propos du service réseau, la DSI m'a répondu que dans les deux config, c'était le service par défaut qui était utilisé.
Aucun anti-virus d'installé sur les serveurs et ca va être corrigé
Sinon, je tenterai bien de remplacer les fichiers du serveur de prod par ceux mis à jour sur le test. Et de tout relancer.
(Après, c'est la reinstall d'un PostgreSQL propre avec le PostGIS qui va bien, je ne sais pas faire mieux)
Dernière modification par Leehan (12/01/2022 11:53:19)
Hors ligne
Sinon, je tenterai bien de remplacer les fichiers du serveur de prod par ceux mis à jour sur le test. Et de tout relancer.
Pourquoi ne pas vérifier les droits d'accès au fichier ? Et si vous avez un autre serveur où la mise à jour à fonctionné, vous pouvez également vérifier la taille ainsi qu'un CRC des fichiers pour valider la cohérence entre les deux environnements.
Julien.
https://rjuju.github.io/
En ligne
Bonjour,
Droits d'accès identiques.
J'ignore ce qu'est un CRC mais je me renseigne
Merci
Hors ligne
Un controle de redondance cyclique (https://fr.wikipedia.org/wiki/Contr%C3%B4le_de_redondance_cyclique ). Sur linux il existe les outils type md5sum, il doit y avoir des équivalents sous windows. L'idée est de vérifier si le contenu des fichiers est identique, ainsi que leurs tailles.
Julien.
https://rjuju.github.io/
En ligne
Salut
Le problème peut venir du runtime de VISUAL C++. Il faut faire comparaison (dans la liste des programmes installés) entre les "Microsoft Visual C++ XXX Redistributable". Il se peut que ton dll v3.2 demande un VC runtime différent de celui de v3.1.
En principe se problème est corrigé par l'installeur, mais puisque ce dernier a rencontré des problèmes...
@+
Hors ligne