#1 Mon 05 May 2014 10:13
- FloG38
- Participant occasionnel
- Date d'inscription: 5 Mar 2014
- Messages: 15
PostGreSQL: requête interrompt la connexion au serveur
Bonjour,
Je travaille actuellement sur l'occupation su sol en Rhône-Alpes, pour cela j'ai importer des couches vecteurs sous PostGre auxquelles j'applique une requête pour les joindre et leur appliquer une érosion afin d'en sortir des couches vecteurs thématiques
Seulement deux de mes requêtes interrompent la connexion avec le serveur et donc ne fonctionnent pas lors que j'effectue l'érosion avec ST_Buffer
Exemple (partie où la requête fait planter le serveur):
DROP TABLE IF EXISTS ra.couche06_rapideye;
CREATE TABLE ra.couche06_rapideye AS
SELECT id, bdd, dep, nature, code_nat, macroclasse, nomenclature, rapideye, spot6, ST_Buffer(geom,couche06.rapideye) AS geom
FROM ra.couche06;
Je précise que cette requête fonctionne 6 fois sur 8.
Après avoir chercher à comprendre, j'ai trouver d'où venait le problème. Ce sont les couches ZONE_VEGETATION du département 26 de la BD Topo 2011 et les couches BATI, RESERVOIR, TERRAIN_SPORT et PISTE_AERODROME du département 69 de la BD Topo 2011 qui font planter car si je les retire de la requête, celle-ci fonctionne très bien.
Le problème ne vient pas de la géométrie de ces couches car j'ai fait toutes les vérifications possibles sur ce sujet et elles sont clean de ce côté là.
J'espère que je suis assez clair dans mes explications, dans le cas contraire je suis désolé car c'est la première fois que je post sur le forum Géo'BD, et je ne connais pas encore les conventions pour l'explication des problèmes.
Je me retourne donc vers vous car je me retrouve face à un mur.
Merci pour vos réponses.
Hors ligne
#2 Mon 05 May 2014 13:02
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PostGreSQL: requête interrompt la connexion au serveur
Bonjour,
Pouvez-vous nous donner quelques infos:
• OS (windows, linux)
• Version de PG, version de postgis (select postgis_full_version())
• requete exacte qui ne marche pas (la requete buffer donnée n'est pas valide: elle ne contient pas de distance de buffer)
• Projection des données
• Message d'erreur avant la déconnexion du serveur (logs PG)
st_isvalid répond bien vrai pour toutes les geom des couches ?
Nicolas
Hors ligne
#3 Mon 05 May 2014 15:45
- FloG38
- Participant occasionnel
- Date d'inscription: 5 Mar 2014
- Messages: 15
Re: PostGreSQL: requête interrompt la connexion au serveur
- Je travail sur Windows XP et également 7
- PG Admin III, PostGis 1.5
- Requête : la distance de buffer est renseignée dans la colonne "rapideye" créée précédemment dans la requête, je ne l'ai pas mise en entier car elle est très longue. Cela marche pour d'autres tables que je veux créer de cette manière.
- Projection : 2154
- Aucun message d'erreur, le serveur se déconnecte d'un seul coup.
St_isvalid ne renvoie aucune erreur de géométrie
Florian
Hors ligne
#4 Tue 06 May 2014 08:42
- Laurent Jégou
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 5 Sep 2005
- Messages: 447
- Site web
Re: PostGreSQL: requête interrompt la connexion au serveur
La requête est lancée depuis PGAdmin installé sur la même machine que le serveur ou ce sont deux machines différentes ?
Enseignant-Chercheur en Géomatique
UT2J - Dept Géo / CNRS UMR LISST-Cieu / Master Sigma - Revue Mappemonde
Hors ligne
#5 Tue 06 May 2014 08:49
- FloG38
- Participant occasionnel
- Date d'inscription: 5 Mar 2014
- Messages: 15
Re: PostGreSQL: requête interrompt la connexion au serveur
Je l'ai fait depuis l'ordinateur où est installé le serveur et depuis un autre ordinateur mais je rencontre le même problème.
Hors ligne
#6 Tue 06 May 2014 10:26
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PostGreSQL: requête interrompt la connexion au serveur
Pouvez-vous nous donner les versions completes des logiciels:
Pour Postgresql: select version();
Pour Postgis: select postgis_full_version();
La version de PgAdmin n'intervient pas
La branche 1.5 de Postgis a subi de nombreuses mises à jour, notamment pour des bugs de mémoire et de performance.
Il faut vérifier que vous avez la derniere version de la branche 1.5 (1.5.8), ou encore mieux, installer la dernière version.
(pour rappel, il est très important d'installer les dernières version de PostgreSQL et PostGIS pour garantir le moins de problèmes: en général, ces mises à jour se passent très bien)
Nicolas
Hors ligne
#7 Tue 06 May 2014 11:06
- FloG38
- Participant occasionnel
- Date d'inscription: 5 Mar 2014
- Messages: 15
Re: PostGreSQL: requête interrompt la connexion au serveur
Pour l'ordinateur où le serveur est installé :
Version PostGre :"PostgreSQL 9.1.3, compiled by Visual C++ build 1500, 32-bit"
Version PostGis : Message d'erreur
"PostgreSQL 9.1.3, compiled by Visual C++ build 1500, 32-bit"
ERREUR: la fonction postgis_full_version() n'existe pas
LINE 1: select postgis_full_version();
^
HINT: Aucune fonction ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
********** Erreur **********
ERREUR: la fonction postgis_full_version() n'existe pas
État SQL :42883
Astuce : Aucune fonction ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
Caractère : 8
Pour l'autre ordinateur :
Version PostGre : "PostgreSQL 9.1.3, compiled by Visual C++ build 1500, 32-bit"
Version PostGis : "POSTGIS="1.5.3" GEOS="3.3.1-CAPI-1.7.1" PROJ="Rel. 4.6.1, 21 August 2008" LIBXML="2.7.8" USE_STATS"
Hors ligne
#8 Tue 06 May 2014 11:50
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PostGreSQL: requête interrompt la connexion au serveur
Pour le serveur, vous avez lancé la requete de version sur la bonne base ? (celle qui contient PostGIS, et pas "postgres", par ex ?)
Postgis et geos sont vieux, très probable que la nouvelle version règle votre problème de buffer.
Nicolas
Hors ligne
#9 Wed 07 May 2014 09:06
- FloG38
- Participant occasionnel
- Date d'inscription: 5 Mar 2014
- Messages: 15
Re: PostGreSQL: requête interrompt la connexion au serveur
Autant pour moi, vous avez raison je m'étais mis sur "postgres". J'obtiens donc la même chose que sur l'autre ordinateur.
Je vous remercie tous pour vos réponses. Je vais essayer de mettre à jour PostGre et PostGis mais je n'ai pas la main sur ce sujet, je vous tiendrais au courant quand cela sera effectué pour savoir si le problème vient bien de là.
Hors ligne
#10 Tue 13 May 2014 13:38
- FloG38
- Participant occasionnel
- Date d'inscription: 5 Mar 2014
- Messages: 15
Re: PostGreSQL: requête interrompt la connexion au serveur
Le problème venait en effet des versions de PostGRE et PostGIS. Avec PostGre 9.3.4 et PostGIS 2 cela marche très bien.
Merci
Hors ligne