Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'ai une erreur de type signal 11: segmentation fault lorsque j'exécute une requête très précise (incluant une jointure sur une table de 6 millions de lignes environ).
postgresql crash systématiquement sur cette requête.
J'ai simplifié la requête en créant une table temporaire puis en faisant ma jointure entre la table temp et la table qui contient les 6 millions de lignes.
Je n'ai pas de crash à la création de la table temporaire.
Par contre toujours le crash sur la partie jointure avec la grosse table:
select distinct a.ne,a.id from tempNonImprimee a inner join fac_histo b on b.dossier = a.ne;
A noter que cette table de 6 millions de lignes est régulièrement utilisée sans jamais poser de problème et qu'on peut encore aujourd'hui faire des requêtes dessus sans avoir de crash.
J'ai pensé à une corruption de table en lisant d'autres posts mais j'ai essayé la requête sur un autre environnement de test qui contient une copie de la base issue d'un pg_dump / psql -f et j'ai le même problème.
Nous utilisons postgresql 11.8 sur un environnement ubuntu 18.04.
Le problème peut-il venir d'une mauvaise configuration des paramètres du postgresql.conf ?
Merci pour votre aide
Hors ligne
La première chose à faire est de mettre à jour votre version de PostgreSQL. La dernière version disponible pour la branche 11 est la 11.12
Si le problème continue avec la dernière version, il serait intéressant de tenter cette requête sur un serveur avec la config de base et sans extension installée.
Un autre test intéressant serait de voir si PostgreSQL arrive à générer le plan d'exécution (histoire de savoir si le problème vient de la planification ou de l'exécution).
Si aucune nouvelle information ne survient de ces différents tests, récupérer une stack trace serait un gros plus pour savoir où ça plante.
Guillaume.
Hors ligne
En cas de besoin voici un lien qui explique comment récupérer les informations utiles d'un coredump si la mise à jour de postgres ne suffit pas à résoudre le problème : https://wiki.postgresql.org/wiki/Gettin … ng_backend
Julien.
https://rjuju.github.io/
Hors ligne
L'explain analyze ne fonctionne pas non plus (je rectifie mon précédent message).
J'ai fait le test sur une 13.3 sous ubuntu aussi, ça crash de la même façon, y compris sans les extensions.
Par contre j'ai essayé de créer en dur la table temporaire et là ... ça ne crash plus, la jointure passe sans problème.
C'est donc semble-t-il en lien avec le temporary table
Dernière modification par dev.isc84 (31/07/2021 17:13:00)
Hors ligne
Pour compléter: l'explain simple ne fait pas de segmentation fault, mais l'explain analyze oui.
Hors ligne
Sans scénario pour reproduire le problème localement et/ou un stack trace nous ne pouvons pas vous aider.
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour votre aide, je vais voir ce que je peux faire.
Hors ligne
Avez-vous trouvé la cause du problème ? existe-t-il toujours ?
Il est toujours intéressant de remonter les bugs... Même sans coredump ou autres détails techniques. Avoir un scenario minimal est bienvenu, et a minima une description plus complète: requête SQL, définitions des tables et index, contenu du paramètre "shared_preload_libraries" et similaires (il faut savoir si des modules serveurs étaient chargés, comme pg_stat_statements ou auto-explain).
Dernière modification par c2main (15/10/2021 14:42:04)
Hors ligne
Pages : 1