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 10/06/2020 11:56:46

Doctor Who
Membre

ERREUR: ne peut pas lancer de sous-transactions pendant une opération

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

#2 10/06/2020 14:29:24

gleu
Administrateur

Re : ERREUR: ne peut pas lancer de sous-transactions pendant une opération

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

#3 10/06/2020 16:02:22

Doctor Who
Membre

Re : ERREUR: ne peut pas lancer de sous-transactions pendant une opération

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

#4 10/06/2020 16:31:33

gleu
Administrateur

Re : ERREUR: ne peut pas lancer de sous-transactions pendant une opération

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

#5 10/06/2020 16:52:18

Doctor Who
Membre

Re : ERREUR: ne peut pas lancer de sous-transactions pendant une opération

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

#6 10/06/2020 21:35:04

gleu
Administrateur

Re : ERREUR: ne peut pas lancer de sous-transactions pendant une opération

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

Pied de page des forums