PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 25/01/2010 12:17:14

massbbc
Membre

Afficher une requête

Salut a tous!
Je suis débutant sur postgresql et j'ai écris une requête sous php. Mais mon navigateur plante lorsque je veux tester ma requête.
J'ai vérifié ma requête et je crois qu'il n'ya pas d'erreur de syntaxe.
Pouvez m'aider . Il faus noter que j'utilise 3 tables avec environ 15000 enregistrements.

Hors ligne

#2 25/01/2010 14:00:31

gleu
Administrateur

Re : Afficher une requête

On veut bien vous aider, mais on a aucun moyen de le faire sans plus d'informations. Par exemple la requête et/ou le script PHP.


Guillaume.

Hors ligne

#3 25/01/2010 15:07:44

massbbc
Membre

Re : Afficher une requête

Voici le code de ma requête

// begin Recordset
$maxRows_rstest = 10;
$pageNum_rstest = 0;
if (isset($HTTP_GET_VARS['pageNum_rstest'])) {
  $pageNum_rstest = $HTTP_GET_VARS['pageNum_rstest'];
}
$startRow_rstest = $pageNum_rstest * $maxRows_rstest;
$query_rstest = "SELECT * FROM f_manifest, f_bill_of_lading, f_cargo, f_container WHERE f_manifest.import_export='I'";
$rstest = $connexion->SelectLimit($query_rstest, $maxRows_rstest, $startRow_rstest) or die($connexion->ErrorMsg());
if (isset($HTTP_GET_VARS['totalRows_rstest'])) {
  $totalRows_rstest = $HTTP_GET_VARS['totalRows_rstest'];
} else {
  $all_rstest = $connexion->SelectLimit($query_rstest) or die($connexion->ErrorMsg());
  $totalRows_rstest = $all_rstest->RecordCount();
}
$totalPages_rstest = (int)(($totalRows_rstest-1)/$maxRows_rstest);
// end Recordset

----------------------------------------------------------------------------------------------------
Je me posais la question a savoir si ses pas du a la memoire a allouer a postgresql mais je ne sais pas comment verifier.
j'orai a gérer des centaine de millier d'enregistrement

Merci

Hors ligne

#4 25/01/2010 15:30:19

Marc Cousin
Membre

Re : Afficher une requête

Vous exécutez la requête avec une limite ?

Postgresql s'arrange pour travailler dans une quantité de mémoire limitée, quitte à utiliser le disque pour certaines opérations, il est donc peu probable que ce soit lui qui se trouve à court.


Marc.

Hors ligne

#5 25/01/2010 16:45:24

gleu
Administrateur

Re : Afficher une requête

Mais quel est le message d'erreur ?


Guillaume.

Hors ligne

#6 26/01/2010 10:38:51

massbbc
Membre

Re : Afficher une requête

En faite lorsque je lance  la requête sur une seule table j'obtiens le résultat sans problème. Mais lorsque j'inteeroge seulement 2 tables et que je lance mon navigateur la page reste blanche et mon PC se met a ramer. Je suis obligé de kill le pocessus du navigateur. Hier javais comme message derreur : "No buffer available"
Di moi Marc Cousin savez sais tu comment faire pour gerer la memoire sous postgresql ?
Merci

Hors ligne

#7 26/01/2010 10:52:15

gleu
Administrateur

Re : Afficher une requête

Ça ne peut pas s'expliquer en un post, la gestion mémoire. Cet article peut t'intéresser : http://www.dalibo.org/glmf107_gestion_m … postgresql

Quant à « No buffer available », ce n'est pas un message PostgreSQL. (dans le sens où je ne trouve pas ce message dans les sources, pour toutes les versions 8.X).


Guillaume.

Hors ligne

#8 26/01/2010 11:11:43

massbbc
Membre

Re : Afficher une requête

Merci bocou gleu pour le lien. je vais regarder... Je precise que je travaille sous windows XP et suis vraiment très debutant avec Postgresql.
Si vous pouvez mexpliquer la methode pour editer le fichier de configuration se serait la bienvenue pour moi car je suis bloqué dans l'evolution de mon projet!
Une fois de plus merci pour vos réponse!

Hors ligne

#9 26/01/2010 11:36:34

Marc Cousin
Membre

Re : Afficher une requête

À priori, si ça se met à ramer et que c'est en tuant le navigateur que le problème est résolu, c'est que le navigateur essaye d'allouer trop de mémoire pour afficher la page.


Marc.

Hors ligne

#10 26/01/2010 12:16:21

gleu
Administrateur

Re : Afficher une requête

Il faut utiliser un éditeur de texte, notepad par exemple, et ouvrir le fichier postgresql.conf qui doit se trouver dans le répertoire C:\Program Files\PostgreSQL\8.4\data. Cependant, si vous ne saviez pas ça, il serait bon de lire la documentation : http://docs.postgresql.fr/8.4/


Guillaume.

Hors ligne

#11 26/01/2010 12:30:34

massbbc
Membre

Re : Afficher une requête

J'ai modifié mon le fichier postgresql.conf selon le lien http://www.dalibo.org/glmf107_gestion_m … postgresql mais ses toujours le même résultat. Je ne sais plus ce que faire.

Hors ligne

#12 26/01/2010 12:55:12

gleu
Administrateur

Re : Afficher une requête

Certainement parce que le problème ne vient pas de PostgreSQL. D'ailleurs, on n'a strictement aucune information qui laisse à penser que ce soit le cas. Peut-être essayez-vous de récupérer trop de résultats. Une jointure de quatre tables peut demander un affichage conséquent sur une page web.


Guillaume.

Hors ligne

#13 26/01/2010 17:07:46

massbbc
Membre

Re : Afficher une requête

Exactement il ya bocoup de donnés a afficher sur la page.
Ci-dessous le message d'erreur que j'obtiens lorsque je modifie mon fichier postgresql.conf

could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?

Hors ligne

#14 26/01/2010 17:14:34

Marc Cousin
Membre

Re : Afficher une requête

Vous avez mis une configuration qui empêche postgresql de démarrer. Regardez la log. Mieux : remettez le paramétrage initial, ce n'est de toutes façons pas postgres la cause de votre problème.


Marc.

Hors ligne

Pied de page des forums