Vous n'êtes pas identifié(e).
Bonjour,
Je rencontre cette erreur et je n'en comprends pas la raison.
Je ne rencontre pas ce problème sur un serveur Linux ou même sur une instance Docker que j'ai pour des tests
Mais un de mes contacts sous Windows lui a ce message d'erreur pour les mêmes fonctions SQL
On utilise généralement le site de pgtune pour une première base de performance.
Version PG : 10 et 11 avec l'extension PostGIS 2.5
Merci pour votre aide.
Hors ligne
Je suppose que le message d'erreur exact est "ne peut pas lancer de sous-transactions pendant une opération parallèle". Forte chance que vos serveurs ne soient pas identiques, et que l'un deux tente de faire de la parallélisation alors que l'autre non.
Guillaume.
Hors ligne
Merci pour la réponse,
Quand vous dites que nos serveurs ne sont pas identiques, ya t'il une option qui serait activé par défaut par exemple sous Linux et qu'une installation Windows n'arriverait pas à faire ?
Est-ce que c'est un paramètre à activer dans le postgresql.conf en dehors des classiques :
max_worker_processes = 20
max_parallel_workers_per_gather = 4
max_parallel_workers = 20
max_parallel_maintenance_workers = 4
Hors ligne
Quand je dis que les deux serveurs ne sont pas identiques, c'est que le jeu de données n'est pas forcément le même, que le matériel non plus, et que les statistiques sur les données à coup sûr ne sont pas identiques. Et si les stats ne sont pas identiques, les plans sélectionnés ne sont pas forcément les mêmes. D'où le fait qu'une machine peut se voir exécuté un plan parallélisé et une autre un plan non parallélisé.
Guillaume.
Hors ligne
Ok en l’occurrence : les données sont identiques et les requêtes aussi.
Seule la plateforme et la conf matériel change effectivement.
Hors ligne
Dans ce cas, il faudrait nous montrer les plans d'exécution de la requête sur les deux serveurs (EXPLAIN seul, sans ANALYZE).
Guillaume.
Hors ligne