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 26/05/2016 09:24:05

baultic
Membre

Boucle for en php et fonction pgsql

Bonjour,

Je suis actuellement devant un problème assez étrange, en fait j'ai 2 listes à sélection multiple, a gauche celle des éléments disponibles et à droite celle des éléments qui sont associés, entre les 2 j'ai un bouton ajouter.

Mon problème est que lorsque je fait une selection multiple puis ajouter, l'appel à la fonction pg se fait x fois suivant le nombre d'élément sélectionnés dans la liste de gauche et j'ai un comportement assez étrange, tous les élément sont parfois très bien ajoutés, ou parfois seulement certians sont ajoutés d'autres sont retirés de la liste de droite assez aléatoirement...

J'ai bien pensé a utiliser ma fonction postgres sans la boucle php en lui passant directement un array et faire le traiment dans la fonction mais j'ai également ce problème lorsque je j'ajoute les élément un a un, au bout d'un certains nombre d'appels cela délire totalement... donc je ne pense pas solutionner complètement mon problème en faisant ainsi...

Je me demandais donc dans un premier temps s'il n'y avait pas une sorte de sécurité au niveau de PHP/postgres pour limiter le nombre d'appels consécutifs a une même fonction dans un temps défini (sorte d'antispam) ?

Hors ligne

#2 26/05/2016 11:14:08

rjuju
Administrateur

Re : Boucle for en php et fonction pgsql

Non, c'est à vous de coder votre application intelligemment pour éviter de multiplier les exécutions de requêtes inutiles ou les optimiser.

Hors ligne

#3 26/05/2016 11:17:01

baultic
Membre

Re : Boucle for en php et fonction pgsql

Ok merci, mais malgré ce fait mon problème est toujours présent.

Auriez-vous des infos sur cette ligne qui apparait dans mon log pg chaque fois que le problème se produit : "rehashing catalog cache id 35 for pg_namespace; 9 tups, 4 buckets" ?

Merci d'avance de votre aide.

Hors ligne

#4 26/05/2016 11:21:36

rjuju
Administrateur

Re : Boucle for en php et fonction pgsql

Oui, il s'agit d'un message de debug indiquant que la taille du cache pour le catalogue doit être augmentée.

Je suppose que vous avez modifié le log_min_messages pour le passer à une valeur très basse, ce qui est une très mauvaise idée, sauf si vous voulez générer des Go de log inutiles. Repassez le à la valeur par défaut (WARNING) et vous ne le verrez plus apparaître.

Hors ligne

#5 26/05/2016 11:57:17

baultic
Membre

Re : Boucle for en php et fonction pgsql

Merci de toutes ces informations, en effet comme on est en test actuellement nous avons mis la valeur DEBUG1 pour le log_min_messages.

Pour mon problème, c'est résolu, mes pauvres yeux me font défaut cela venait d'une requête update ou il manquait une clause where....

Désolé pour le dérangement et merci encore.

Hors ligne

Pied de page des forums