#1 Le 05/02/2009, à 10:46
- garthos
PostgreSQL : impossible d'evaluer une requête dans pgadmin 3
Alors je viens d'installer PostgreSQL et pgadmin 3,
Tout semble fonctionner a l'exception de la fonction permettant d'évaluer une requête !!
A chaque fois j'ai le message : ERREUR DE SYNTAXE ..... pourtant ma requête est bonne ... de plus lorsque je l'exécute elle fonctionne sans soucis ....
J'ai essayer sur la machine de mon colloc et là même soucis ....
Est ce un bug connu ? ou est ce qu'il y a qqch a configurer ?
c'est quand même bizarre non ?
existe il une alternative qui marche?
merci d'avance
Hors ligne
#2 Le 05/02/2009, à 11:22
- Elemmire
Re : PostgreSQL : impossible d'evaluer une requête dans pgadmin 3
Il faudrait nous en dire un peu plus si tu veux qu'on te réponde !
- Quelle est la version de PostgreSQL ?
- Quelle est la version de PGAdmin 3 ?
- Quelle est la requête SQL ?
Hors ligne
#3 Le 05/02/2009, à 11:43
- garthos
Re : PostgreSQL : impossible d'evaluer une requête dans pgadmin 3
J'ai installer les version des dépôts de la 8.10 (donc version 1.8.4-1 pour pgadmin 3 et version 8.3.5 pour postgre, voilà ce que je lis dans synaptic)
et n'importe quel requête .....
par exemple :
CREATE TABLE distributors (
did integer,
name varchar(40),
PRIMARY KEY(did)
);
je précise que cette requête sors de la doc de postgre ....
là je fais F7 correspond à "analyse d'une requête" et bing !!! Erreur !!
là voici :
ERREUR: erreur de syntaxe sur ou près de « integer »
LINE 4: did integer,
^********** Erreur **********
ERREUR: erreur de syntaxe sur ou près de « integer »
État SQL :42601
Caractère : 73
donc je suis ouvert a toute idée !! car c'est quand même pas un truc de fou que je demande a ce satané pgadmin !!
Dernière modification par garthos (Le 05/02/2009, à 11:50)
Hors ligne
#4 Le 05/02/2009, à 12:33
- Elemmire
Re : PostgreSQL : impossible d'evaluer une requête dans pgadmin 3
hmmmm ... je vois pas trop l'interet de faire une analyse sur une requête de création de table ...
C'est une fonction qu'on utilise généralement pour des requetes SELECT avec des jointures.
As tu le meme problème lorsque tu fais une analyse sur une requete SELECT ?
Hors ligne
#5 Le 05/02/2009, à 13:17
- garthos
Re : PostgreSQL : impossible d'evaluer une requête dans pgadmin 3
a priori ça marche avec un select
seul truc c'est qu'apparemment ça ne fait pas ce a quoi je pensais !
moi je pensais que ça devais juste me dire si il y a avais des erreurs dans ma requête .... mais vu le retour sur un SELECT c'est pas trop le cas .... d'ailleurs si quelqu'un peux m'expliquer le retour qu'on a quand on fait F7 ça serait sympa ! car là j'ai un retour que je comprend pas vraiment ....
Hors ligne
#6 Le 05/02/2009, à 15:36
- Elemmire
Re : PostgreSQL : impossible d'evaluer une requête dans pgadmin 3
Cf commande EXPLAIN dans la doc postgreSQL :
Cette commande affiche le plan d'exécution que l'optimiseur de PostgreSQL engendre pour l'instruction fournie. Le plan d'exécution décrit le parcours de la (des) table(s) utilisée(s) dans la requête -- parcours séquentiel, parcours d'index, etc. -- . Si plusieurs tables sont référencées, il présente également les algorithmes de jointures utilisés pour rassembler les lignes issues des différentes tables.
La partie la plus importante de l'affichage concerne l'affichage des coûts estimés d'exécution. Ils représentent l'estimation faite par le planificateur des temps d'exécution de la requête (mesurés en unités de récupération de pages sur le disque). Deux nombres sont
affichés : le temps de démarrage, écoulé avant que la première ligne soit renvoyée, et le temps d'exécution total, nécessaire au renvoi de toutes les lignes. Pour la plupart des requêtes, le temps qui importe est celui d'exécution totale. Mais dans certains cas, tel que pour une sous-requête dans la clause EXISTS, le planificateur choisira le temps de démarrage le plus court, et non celui d'exécution totale (car, de toute façon, l'exécuteur s'arrête après la récupération d'une ligne). De même, lors de la limitation des résultats à retourner par une clause LIMIT, la planificateur effectue une interpolation entre les deux temps limites pour choisir le plan réellement le moins coûteux.
L'option ANALYZE impose l'exécution de la requête en plus de sa planification. Le temps total d'exécution de chaque n1⁄2ud du plan (en millisecondes) et le nombre total de lignes effectivement retournées sont ajoutés à l'affichage. C'est utile pour vérifier la véracité des informations fournies par le planificateur.
Dernière modification par Elemmire (Le 05/02/2009, à 15:36)
Hors ligne