Type: | enum |
Défaut: | off |
Contexte: | user |
Redémarrer: | false |
Valeurs: | [off, on, regress] |
Depuis: | 9.6 |
Obsolète: | 15 |
Autorise l'utilisation de requêtes parallélisées pour des raisons de test y compris dans des cas où aucune amélioration des performances n'est attendue. Les valeurs autorisées de force_parallel_mode
sont off
(utilise le mode parallèle seulement quand une amélioration des performances est attendue), on
(force la parallélisation de toutes les requêtes qui sont parallélisables) et regress
(identique à on
, mais avec un comportement supplémentaire expliqué ci-dessous).
Plus spécifiquement, configurer cette valeur à on
ajoutera un nœud Gather
au -dessus de tout plan d'exécution pour lequel cela semble sain, permettant ainsi à la requête d'être exécuté par un processus parallélisé. Même si un processus parallélisé n'est pas disponible ou ne peut pas être utilisé, les opérations, telles que le démarrage d'une sous- transaction qui serait interdite dans un contexte de parallélisation d'une requête, seront interdites sauf si le planificateur pense que cela ferait échouer la requête. Si des échecs ou des résultats inattendus surviennent avec cette option activée, certaines fonctions utilisées par cette requête devraient être marquées PARALLEL UNSAFE
(ou potentiellement PARALLEL RESTRICTED
).
Configurer ce paramètre à regress
a les mêmes effets que le configurer à on
avec quelques effets supplémentaires ayant pour but de faciliter le test automatique de regressions. Habituellement, les messages d'un processus parallèle incluent une ligne de contexte le précisant, mais une configuration de ce paramètre à la valeur regress
supprime cette ligne pour que la sortie soit identique à une sortie pour une exécution non parallélisée. De plus, les nœuds Gather
ajoutés au plan par ce paramètre sont cachés dans la sortie EXPLAIN
pour que la sortie corresponde à ce qui serait obtenue si ce paramètre était désactivé (valeur off
).