Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Mises à jour de gestion du plan de requêtes Aurora PostgreSQL
L' AWS apg_plan_mgmt
extension fournit à votre cluster de base de données Aurora PostgreSQL la fonctionnalité de gestion du plan de requêtes. Elle vous permet de gérer les plans d'exécution des requêtes générés par l'optimiseur pour vos applications SQL afin d'améliorer la stabilité et d'éviter les régressions. Pour plus d'informations, consultez Gestion des plans d'exécution de requêtes pour Aurora PostgreSQL dans le Guide de l'utilisateur Amazon Aurora.
Versions de PostgreSQL 17
apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 17.4, 1er mai 2025
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.8 pour Aurora PostgreSQL 17.4 sont les suivantes :
Nouvelles fonctionnalités
-
La gestion des plans de requêtes peut appliquer des plans comportant une transformation de sous-requêtes corrélée.
-
La gestion des plans de requêtes peut appliquer les plans comportant un cache de sous-requêtes corrélé.
Améliorations supplémentaires
-
Correction d'un problème lié à la liste des paramètres qui provoquait une erreur ou un redémarrage lors de l'interrogation de la
dba_plans
vue ou de l'appelvalidate_plans
et desevolve_plan_baselines
fonctions dans la gestion du plan de requêtes. -
Correction d'un problème lié à l'optimisation de l'application des plans en corrélant toute transformation dans la gestion des plans Query.
-
Correction d'un problème lié à l'exécution d'une instruction utilitaire immédiatement après l'installation de l'extension ou la réinitialisation de la mémoire partagée dans la gestion du plan de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans pour les requêtes avec des appels à des fonctions immuables dans la gestion des plans de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans dans le cadre de la gestion des plans de requêtes.
Versions de PostgreSQL 16
Rubriques
apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 16.8, 8 avril 2025
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.8 pour Aurora PostgreSQL 16.8 sont les suivantes :
Nouvelles fonctionnalités
-
La gestion des plans de requêtes peut appliquer des plans comportant une transformation de sous-requêtes corrélée.
-
La gestion des plans de requêtes peut appliquer les plans comportant un cache de sous-requêtes corrélé.
Améliorations supplémentaires
-
Correction d'un problème lié à la liste des paramètres qui provoquait une erreur ou un redémarrage lors de l'interrogation de la
dba_plans
vue ou de l'appelvalidate_plans
et desevolve_plan_baselines
fonctions dans la gestion du plan de requêtes. -
Correction d'un problème lié à l'optimisation de l'application des plans en corrélant toute transformation dans la gestion des plans Query.
-
Correction d'un problème lié à l'exécution d'une instruction utilitaire immédiatement après l'installation de l'extension ou la réinitialisation de la mémoire partagée dans la gestion du plan de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans pour les requêtes avec des appels à des fonctions immuables dans la gestion des plans de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans dans la gestion des plans Query.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 16.6, 27 décembre 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 16.6 sont les suivantes :
Améliorations supplémentaires
-
Correction d'un problème lié à la capture du plan sur la réplique dans la gestion du plan de requêtes, à cause duquel la matrice de mémoire partagée de la réplique devenait pleine.
-
Correction d'un problème lié à la gestion des plans de requêtes en arrière-plan, qui empêchait l'application de la période de conservation du plan et empêchait la mise à jour de la date de dernière utilisation.
-
Correction d'un problème lié au fonctionnement en arrière-plan de la gestion des plans de requêtes.
-
Correction d'un problème lié à l'application des plans de gestion des plans de requêtes contenant des scans bitmap.
-
Correction d'un problème lié à la gestion des plans de requêtes en raison duquel les plans étaient capturés de manière incorrecte pour les fonctions ou les procédures comportant plusieurs requêtes.
-
Correction d'un problème lié à la capture des plans d'exécutions de requêtes imbriquées dans la gestion des plans de requêtes.
-
Correction d'un problème lié à la capture des plans dans la gestion des plans de requêtes à l'aide d'un protocole de requête étendu.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 16.3
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 16.3 sont les suivantes :
Nouvelles fonctionnalités
Vous n'avez plus besoin de mettre à jour le
plan_hash_version
. Après la mise à niveau du moteur de base de données, QPM active automatiquement les nouvelles fonctionnalités. Vous n'avez aucune action à effectuer pour que de nouvelles fonctionnalités soient disponibles.
Améliorations supplémentaires
Correction d'un problème lié à l'application des plans QPM contenant plus de 64 tables partitionnées.
Correction d'un problème lié à l'application des plans QPM contenant l'opérateur Ajouter.
Correction d'un problème avec QPM validate_plans avec l'action update_plan_hash.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 16.2
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 16.2 sont les suivantes :
Nouvelles fonctionnalités
QPM peut appliquer des plans comportant des opérateurs d'agrégation.
Améliorations supplémentaires
Correction d'un problème en raison duquel la suppression d'une base de données ne supprimait pas les plans capturés associés de la mémoire partagée.
Correction d'un problème lié à l'application des plans contenant des vues.
Améliorations apportées à l'application du plan Parallel Append.
Correction d'un problème lié à la capture du plan.
-
Correction d'un problème lié à l'application des plans contenant des nœuds de collecte.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 16.1
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 16.1 sont les suivantes :
Nouvelles fonctionnalités
-
Les structures de plan seront mises à jour avec la dernière version du format dans le cadre de l’action
update_plan_hash
pour la fonctionapg_plan_mgmt.validate_plans
. -
Prise en charge ajoutée de l’application de l’ajout parallèle dans le cadre de l’application des requêtes parallèles. Pour appliquer correctement les nœuds d’ajout parallèle, vous devez effectuer les opérations suivantes :
-
Définissez
apg_plan_mgmt.plan_hash_version
sur 5. -
Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.
-
Améliorations supplémentaires
-
Amélioration des performances dans le calcul du hachage du plan.
-
Utilisation améliorée de la mémoire pour les structures de plan contenant des sous-plans répétitifs.
-
Problème corrigé dans l’application des requêtes parallèles où
GatherMerge
ne pouvait pas être appliqué. -
Problème corrigé : le coût estimé du plan appliqué était incorrect.
-
Problème corrigé dans l’application des plans approuvés où la structure contenait des tables partitionnées et des sous-plans.
Versions de PostgreSQL 15
Rubriques
apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 15.12, 8 avril 2025
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.8 pour Aurora PostgreSQL 15.12 sont les suivantes :
Améliorations supplémentaires
-
Correction d'un problème lié à la liste des paramètres qui provoquait une erreur ou un redémarrage lors de l'interrogation de la
dba_plans
vue ou de l'appelvalidate_plans
et desevolve_plan_baselines
fonctions dans la gestion du plan de requêtes. -
Correction d'un problème lié à l'optimisation de l'application des plans en corrélant toute transformation dans la gestion des plans Query.
-
Correction d'un problème lié à l'exécution d'une instruction utilitaire immédiatement après l'installation de l'extension ou la réinitialisation de la mémoire partagée dans la gestion du plan de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans pour les requêtes avec des appels à des fonctions immuables dans la gestion des plans de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans dans la gestion des plans Query.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 15.10, 27 décembre 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 15.10 sont les suivantes :
Améliorations supplémentaires
Correction d'un problème lié à la capture du plan sur la réplique dans la gestion du plan de requêtes, à cause duquel la matrice de mémoire partagée de la réplique devenait pleine.
Correction d'un problème lié à la gestion des plans de requêtes en arrière-plan, qui empêchait l'application de la période de conservation du plan et empêchait la mise à jour de la date de dernière utilisation.
Correction d'un problème lié au fonctionnement en arrière-plan de la gestion des plans de requêtes.
Correction d'un problème lié à l'application des plans de gestion des plans de requêtes contenant des scans bitmap.
Correction d'un problème lié à la gestion des plans de requêtes en raison duquel les plans étaient capturés de manière incorrecte pour les fonctions ou les procédures comportant plusieurs requêtes.
Correction d'un problème lié à la capture des plans d'exécutions de requêtes imbriquées dans la gestion des plans de requêtes.
Correction d'un problème lié à la capture des plans dans la gestion des plans de requêtes à l'aide d'un protocole de requête étendu.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 15.8, 30 septembre 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 15.8 sont les suivantes :
Améliorations supplémentaires
Correction d'un problème lié à l'application des plans de gestion des plans de requête contenant des agrégats de hachage.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 15.7, 8 août 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 15.7 sont les suivantes :
Nouvelles fonctionnalités
Vous n'avez plus besoin de mettre à jour le
plan_hash_version
. Après la mise à niveau du moteur de base de données, QPM active automatiquement les nouvelles fonctionnalités. Vous n'avez aucune action à effectuer pour que de nouvelles fonctionnalités soient disponibles.
Améliorations supplémentaires
Correction d'un problème lié à l'application des plans QPM contenant plus de 64 tables partitionnées.
Correction d'un problème lié à l'application des plans QPM contenant l'opérateur Ajouter.
Correction d'un problème avec QPM validate_plans avec l'action update_plan_hash.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 15.6
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 15.6 sont les suivantes :
Nouvelles fonctionnalités
QPM peut appliquer des plans comportant des opérateurs d'agrégation.
Améliorations supplémentaires
Correction d'un problème en raison duquel la suppression d'une base de données ne supprimait pas les plans capturés associés de la mémoire partagée.
Correction d'un problème lié à l'application des plans contenant des vues.
Améliorations apportées à l'application du plan Parallel Append.
Correction d'un problème lié à la capture du plan.
-
Correction d'un problème lié à l'application des plans contenant des nœuds de collecte.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 15.5
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 15.5 sont les suivantes :
Nouvelles fonctionnalités
Les structures de plan seront mises à jour avec la dernière version du format dans le cadre de l’action
update_plan_hash
pour la fonctionapg_plan_mgmt.validate_plans
.Prise en charge ajoutée de l’application de l’ajout parallèle dans le cadre de l’application des requêtes parallèles. Pour appliquer correctement les nœuds d’ajout parallèle, vous devez effectuer les opérations suivantes :
Définissez
apg_plan_mgmt.plan_hash_version
sur 5.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.
Améliorations supplémentaires
-
Amélioration des performances dans le calcul du hachage du plan.
-
Utilisation améliorée de la mémoire pour les structures de plan contenant des sous-plans répétitifs.
-
Problème corrigé dans l’application des requêtes parallèles où
GatherMerge
ne pouvait pas être appliqué. -
Problème corrigé : le coût estimé du plan appliqué était incorrect.
-
Problème corrigé dans l’application des plans approuvés où la structure contenait des tables partitionnées et des sous-plans.
apg_plan_mgmt version 2.5 pour Aurora PostgreSQL 15.4
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.5 pour Aurora PostgreSQL 15.4 sont les suivantes :
Nouvelles fonctionnalités
QPM peut imposer aux plans de requête d'avoir des opérateurs parallèles, à l'exception du nœud Parallel Append. Pour appliquer correctement les plans de requête parallèle, vous devez effectuer les opérations suivantes après la mise à niveau vers la version 15.4 ou 14.9 :
Définissez
apg_plan_mgmt.plan_hash_version
sur 4 ou plus.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.Capturez à nouveau les plans approuvés qui possèdent un nœud Gather dans plan_outline.
QPM peut appliquer des plans de requête avec des nœuds Materialize. Pour appliquer les nœuds Materialize, vous devez effectuer les opérations suivantes après la mise à niveau vers la version 15.4 ou 14.9 :
Définissez
apg_plan_mgmt.plan_hash_version
sur 4 ou plus.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.
-
Pour capturer des plans de requête à partir de réplicas, vous devez mettre à jour l'extension
apg_plan_mgmt
en appelant ALTER EXTENSION apg_plan_mgmt UPDATE. -
Vous devez spécifier
apg_plan_mgmt.plan_capture_threshold
afin de ne pas autoriser QPM à capturer des plans de requête.
Améliorations supplémentaires
Amélioration des performances lors des
plan_hash
calculs.
apg_plan_mgmt version 2.4 pour Aurora PostgreSQL 15.3
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.4 pour Aurora PostgreSQL 15.3 sont les suivantes :
Nouvelles fonctionnalités
-
Introduction d'un nouveau paramètre GUC auto_explain.hashes. Lorsque ce paramètre est défini sur true (par défaut : false), sql_hash et plan_hash sont affichés à la fin du résultat de l'explication automatique.
-
Introduction d'un nouveau paramètre GUC apg_plan_mgmt.explain_hashes. Lorsque ce paramètre est défini sur true (par défaut : false), le résultat EXPLAIN affiche sql_hash et plan_hash, même si l'option hashes n'est pas définie sur true.
-
Introduction d'un nouveau paramètre GUC apg_plan_mgmt.log_plan_enforcement_result. En fonction de sa valeur (par défaut : none), les résultats d'application du plan sont écrits dans les fichiers journaux Postgres.
-
Introduction d'une nouvelle version de calcul de hachage du plan afin de prendre en charge les tables partitionnées. Les utilisateurs doivent définir apg_plan_mgmt.plan_hash_version sur 3 et appeler apg_plan_mgmt.validate_plans('update_plan_hash') dans chaque base de données dans laquelle est installé
apg_plan_mgmt
et comportant des entrées dans la table des plans. -
QPM peut appliquer des plans de requête avec des nœuds Memoize.
-
La fonction
apg_plan_mgmt.copy_outline
peut prendre en charge un nouveau 5e argument,force_update_target_plan_hash
. Si cet argument est défini sur true, le hachage du plan cible sera mis à jour même si le plan source n'est pas reproductible pour la fonction sql_hash cible.
Améliorations supplémentaires
-
Correction d'un problème lié à l'application du plan d'instructions préparées JDBC.
-
Amélioration de la parité concernant queryid entre pg_stat_statements et apg_plan_mgmt.dba_plans.
-
Correction d'un problème d'application du plan lorsque les noms d'index se terminent par des chiffres.
-
La fonction apg_plan_mgmt.copy_outline copie désormais les variables d'environnement.
-
La valeur minimale de apg_plan_mgmt.plan_retention_period passe de 32 à 1.
-
La gestion des plans de requête peut désormais enregistrer des plans pour les requêtes dans les transactions en lecture seule à partir des nœuds d'écriture.
-
Correction d'un problème dans la fonction apg_plan_mgmt.evolve_plan_baselines.
-
Correction d'un problème qui pouvait entraîner une indisponibilité lorsque apg_plan_mgmt était activé.
Pour savoir comment installer, mettre à niveau et utiliser l'extension apg_plan_mgmt
, consultez Gestion des plans d'exécution de requêtes pour Aurora PostgreSQL dans le Guide de l'utilisateur Amazon Aurora.
Versions de PostgreSQL 14
Rubriques
apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 14.17, 8 avril 2025
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.8 pour Aurora PostgreSQL 14.17 sont les suivantes :
Améliorations supplémentaires
-
Correction d'un problème lié à la liste des paramètres qui provoquait une erreur ou un redémarrage lors de l'interrogation de la
dba_plans
vue ou de l'appelvalidate_plans
et desevolve_plan_baselines
fonctions dans la gestion du plan de requêtes. -
Correction d'un problème lié à l'optimisation de l'application des plans en corrélant toute transformation dans la gestion des plans Query.
-
Correction d'un problème lié à l'exécution d'une instruction utilitaire immédiatement après l'installation de l'extension ou la réinitialisation de la mémoire partagée dans la gestion du plan de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans pour les requêtes avec des appels à des fonctions immuables dans la gestion des plans de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans dans la gestion des plans Query.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 14.15, 27 décembre 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 14.15 sont les suivantes :
Améliorations supplémentaires
Correction d'un problème lié à la capture du plan sur la réplique dans la gestion du plan de requêtes, à cause duquel la matrice de mémoire partagée de la réplique devenait pleine.
Correction d'un problème lié à la gestion des plans de requêtes en arrière-plan, qui empêchait l'application de la période de conservation du plan et empêchait la mise à jour de la date de dernière utilisation.
Correction d'un problème lié au fonctionnement en arrière-plan de la gestion des plans de requêtes.
Correction d'un problème lié à l'application des plans de gestion des plans de requêtes contenant des scans bitmap.
Correction d'un problème lié à la gestion des plans de requêtes en raison duquel les plans étaient capturés de manière incorrecte pour les fonctions ou les procédures comportant plusieurs requêtes.
Correction d'un problème lié à la capture des plans d'exécutions de requêtes imbriquées dans la gestion des plans de requêtes.
Correction d'un problème lié à la capture des plans dans la gestion des plans de requêtes à l'aide d'un protocole de requête étendu.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 14.12, 8 août 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 14.12 sont les suivantes :
Nouvelles fonctionnalités
Vous n'avez plus besoin de mettre à jour le
plan_hash_version
. Après la mise à niveau du moteur de base de données, QPM active automatiquement les nouvelles fonctionnalités. Vous n'avez aucune action à effectuer pour que de nouvelles fonctionnalités soient disponibles.
Améliorations supplémentaires
Correction d'un problème lié à l'application des plans QPM contenant plus de 64 tables partitionnées.
Correction d'un problème lié à l'application des plans QPM contenant l'opérateur Ajouter.
Correction d'un problème avec QPM validate_plans avec l'action update_plan_hash.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 14.11
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 14.11 sont les suivantes :
Nouvelles fonctionnalités
QPM peut appliquer des plans comportant des opérateurs d'agrégation.
Améliorations supplémentaires
Correction d'un problème en raison duquel la suppression d'une base de données ne supprimait pas les plans capturés associés de la mémoire partagée.
Correction d'un problème lié à l'application des plans contenant des vues.
Améliorations apportées à l'application du plan Parallel Append.
Correction d'un problème lié à la capture du plan.
-
Correction d'un problème lié à l'application des plans contenant des nœuds de collecte.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 14.10
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 14.10 sont les suivantes :
Nouvelles fonctionnalités
Les structures de plan seront mises à jour avec la dernière version du format dans le cadre de l’action
update_plan_hash
pour la fonctionapg_plan_mgmt.validate_plans
.Prise en charge ajoutée de l’application de l’ajout parallèle dans le cadre de l’application des requêtes parallèles. Pour appliquer correctement les nœuds d’ajout parallèle, vous devez effectuer les opérations suivantes :
Définissez
apg_plan_mgmt.plan_hash_version
sur 5.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.
Améliorations supplémentaires
-
Amélioration des performances dans le calcul du hachage du plan.
-
Utilisation améliorée de la mémoire pour les structures de plan contenant des sous-plans répétitifs.
-
Problème corrigé dans l’application des requêtes parallèles où
GatherMerge
ne pouvait pas être appliqué. -
Problème corrigé : le coût estimé du plan appliqué était incorrect.
-
Problème corrigé dans l’application des plans approuvés où la structure contenait des tables partitionnées et des sous-plans.
apg_plan_mgmt version 2.5 pour Aurora PostgreSQL 14.9
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.5 pour Aurora PostgreSQL 14.9 sont les suivantes :
Nouvelles fonctionnalités
QPM peut imposer aux plans de requête d'avoir des opérateurs parallèles, à l'exception du nœud Parallel Append. Pour appliquer correctement les plans de requête parallèle, vous devez effectuer les opérations suivantes après la mise à niveau vers la version 15.4 ou 14.9 :
Définissez
apg_plan_mgmt.plan_hash_version
sur 4 ou plus.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.Capturez à nouveau les plans approuvés qui possèdent un nœud Gather dans plan_outline.
QPM peut appliquer des plans de requête avec des nœuds Materialize. Pour appliquer les nœuds Materialize, vous devez effectuer les opérations suivantes après la mise à niveau vers la version 15.4 ou 14.9 :
Définissez
apg_plan_mgmt.plan_hash_version
sur 4 ou plus.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.
-
Pour capturer des plans de requête à partir de réplicas, vous devez mettre à jour l'extension
apg_plan_mgmt
en appelant ALTER EXTENSION apg_plan_mgmt UPDATE. -
Vous devez spécifier
apg_plan_mgmt.plan_capture_threshold
afin de ne pas autoriser QPM à capturer des plans de requête.
Améliorations supplémentaires
Amélioration des performances lors des
plan_hash
calculs.
apg_plan_mgmt version 2.4 pour Aurora PostgreSQL 14.8
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.4 pour Aurora PostgreSQL 14.8 sont les suivantes :
Nouvelles fonctionnalités
-
Introduction d'un nouveau paramètre GUC auto_explain.hashes. Lorsque ce paramètre est défini sur true (par défaut : false), sql_hash et plan_hash sont affichés à la fin du résultat de l'explication automatique.
-
Introduction d'un nouveau paramètre GUC apg_plan_mgmt.explain_hashes. Lorsque ce paramètre est défini sur true (par défaut : false), le résultat EXPLAIN affiche sql_hash et plan_hash, même si l'option hashes n'est pas définie sur true.
-
Introduction d'un nouveau paramètre GUC apg_plan_mgmt.log_plan_enforcement_result. En fonction de sa valeur (par défaut : none), les résultats d'application du plan sont écrits dans les fichiers journaux Postgres.
-
Introduction d'une nouvelle version de calcul de hachage du plan afin de prendre en charge les tables partitionnées. Les utilisateurs doivent définir apg_plan_mgmt.plan_hash_version sur 3 et appeler apg_plan_mgmt.validate_plans('update_plan_hash') dans chaque base de données dans laquelle est installé
apg_plan_mgmt
et comportant des entrées dans la table des plans. -
QPM peut appliquer des plans de requête avec des nœuds Memoize.
-
La fonction
apg_plan_mgmt.copy_outline
peut prendre en charge un nouveau 5e argument,force_update_target_plan_hash
. Si cet argument est défini sur true, le hachage du plan cible sera mis à jour même si le plan source n'est pas reproductible pour la fonction sql_hash cible.
Améliorations supplémentaires
-
Correction d'un problème lié à l'application du plan d'instructions préparées JDBC.
-
Amélioration de la parité concernant queryid entre pg_stat_statements et apg_plan_mgmt.dba_plans.
-
Correction d'un problème d'application du plan lorsque les noms d'index se terminent par des chiffres.
-
La fonction apg_plan_mgmt.copy_outline copie désormais les variables d'environnement.
-
La valeur minimale de apg_plan_mgmt.plan_retention_period passe de 32 à 1.
-
La gestion des plans de requête peut désormais enregistrer des plans pour les requêtes dans les transactions en lecture seule à partir des nœuds d'écriture.
-
Correction d'un problème dans la fonction apg_plan_mgmt.evolve_plan_baselines.
-
Correction d'un problème qui pouvait entraîner une indisponibilité lorsque apg_plan_mgmt était activé.
Pour savoir comment installer, mettre à niveau et utiliser l'extension apg_plan_mgmt
, consultez Gestion des plans d'exécution de requêtes pour Aurora PostgreSQL dans le Guide de l'utilisateur Amazon Aurora.
Versions de PostgreSQL 13
Rubriques
apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 13.20, 8 avril 2025
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.8 pour Aurora PostgreSQL 13.20 sont les suivantes :
Améliorations supplémentaires
-
Correction d'un problème lié à la liste des paramètres qui provoquait une erreur ou un redémarrage lors de l'interrogation de la
dba_plans
vue ou de l'appelvalidate_plans
et desevolve_plan_baselines
fonctions dans la gestion du plan de requêtes. -
Correction d'un problème lié à l'optimisation de l'application des plans en corrélant toute transformation dans la gestion des plans Query.
-
Correction d'un problème lié à l'exécution d'une instruction utilitaire immédiatement après l'installation de l'extension ou la réinitialisation de la mémoire partagée dans la gestion du plan de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans pour les requêtes avec des appels à des fonctions immuables dans la gestion des plans de requêtes.
-
Correction d'un problème lors de l'application, de la validation et de l'évolution des plans dans la gestion des plans Query.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 13.18, 27 décembre 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 13.18 sont les suivantes :
Améliorations supplémentaires
Correction d'un problème lié à la capture du plan sur la réplique dans la gestion du plan de requêtes, à cause duquel la matrice de mémoire partagée de la réplique devenait pleine.
Correction d'un problème lié à la gestion des plans de requêtes en arrière-plan, qui empêchait l'application de la période de conservation du plan et empêchait la mise à jour de la date de dernière utilisation.
Correction d'un problème lié au fonctionnement en arrière-plan de la gestion des plans de requêtes.
Correction d'un problème lié à l'application des plans de gestion des plans de requêtes contenant des scans bitmap.
Correction d'un problème lié à la gestion des plans de requêtes en raison duquel les plans étaient capturés de manière incorrecte pour les fonctions ou les procédures comportant plusieurs requêtes.
Correction d'un problème lié à la capture des plans d'exécutions de requêtes imbriquées dans la gestion des plans de requêtes.
Correction d'un problème lié à la capture des plans dans la gestion des plans de requêtes à l'aide d'un protocole de requête étendu.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 13.15, 8 août 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 13.15 sont les suivantes :
Nouvelles fonctionnalités
Vous n'avez plus besoin de mettre à jour le
plan_hash_version
. Après la mise à niveau du moteur de base de données, QPM active automatiquement les nouvelles fonctionnalités. Vous n'avez aucune action à effectuer pour que de nouvelles fonctionnalités soient disponibles.
Améliorations supplémentaires
Correction d'un problème lié à l'application des plans QPM contenant plus de 64 tables partitionnées.
Correction d'un problème lié à l'application des plans QPM contenant l'opérateur Ajouter.
Correction d'un problème avec QPM validate_plans avec l'action update_plan_hash.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 13.14
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 13.14 sont les suivantes :
Nouvelles fonctionnalités
QPM peut appliquer des plans comportant des opérateurs d'agrégation.
Améliorations supplémentaires
Correction d'un problème en raison duquel la suppression d'une base de données ne supprimait pas les plans capturés associés de la mémoire partagée.
Correction d'un problème lié à l'application des plans contenant des vues.
Améliorations apportées à l'application du plan Parallel Append.
Correction d'un problème lié à la capture du plan.
-
Correction d'un problème lié à l'application des plans contenant des nœuds de collecte.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 13.13
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 13.13 sont les suivantes :
Nouvelles fonctionnalités
Les structures de plan seront mises à jour avec la dernière version du format dans le cadre de l’action
update_plan_hash
pour la fonctionapg_plan_mgmt.validate_plans
.Prise en charge ajoutée de l’application de l’ajout parallèle dans le cadre de l’application des requêtes parallèles. Pour appliquer correctement les nœuds d’ajout parallèle, vous devez effectuer les opérations suivantes :
Définissez
apg_plan_mgmt.plan_hash_version
sur 5.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.
Améliorations supplémentaires
-
Amélioration des performances dans le calcul du hachage du plan.
-
Utilisation améliorée de la mémoire pour les structures de plan contenant des sous-plans répétitifs.
-
Problème corrigé dans l’application des requêtes parallèles où
GatherMerge
ne pouvait pas être appliqué. -
Problème corrigé : le coût estimé du plan appliqué était incorrect.
-
Problème corrigé dans l’application des plans approuvés où la structure contenait des tables partitionnées et des sous-plans.
apg_plan_mgmt version 2.5 pour Aurora PostgreSQL 13.12
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.5 pour Aurora PostgreSQL 13.12 sont les suivantes :
Nouvelles fonctionnalités
QPM peut imposer aux plans de requête d'avoir des opérateurs parallèles, à l'exception du nœud Parallel Append. Pour appliquer correctement les plans de requête parallèle, vous devez effectuer les opérations suivantes après la mise à niveau vers la version 15.4 ou 14.9 :
Définissez
apg_plan_mgmt.plan_hash_version
sur 4 ou plus.Appelez
apg_plan_mgmt.validate_plans('update_plan_hash')
.Capturez à nouveau les plans approuvés qui possèdent le nœud Gather dans plan_outline.
-
Pour capturer des plans de requête à partir de réplicas, vous devez mettre à jour l'extension
apg_plan_mgmt
en appelant ALTER EXTENSION apg_plan_mgmt UPDATE. -
Vous devez spécifier
apg_plan_mgmt.plan_capture_threshold
afin de ne pas autoriser QPM à capturer des plans de requête.
apg_plan_mgmt version 2.4 pour Aurora PostgreSQL 13.11
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.4 pour Aurora PostgreSQL 13.11 sont les suivantes :
Nouvelles fonctionnalités
-
Introduction d'un nouveau paramètre GUC auto_explain.hashes. Lorsque ce paramètre est défini sur true (par défaut : false), sql_hash et plan_hash sont affichés à la fin du résultat de l'explication automatique.
-
Introduction d'un nouveau paramètre GUC apg_plan_mgmt.explain_hashes. Lorsque ce paramètre est défini sur true (par défaut : false), le résultat EXPLAIN affiche sql_hash et plan_hash, même si l'option hashes n'est pas définie sur true.
-
Introduction d'un nouveau paramètre GUC apg_plan_mgmt.log_plan_enforcement_result. En fonction de sa valeur (par défaut : none), les résultats d'application du plan sont écrits dans les fichiers journaux Postgres.
-
Introduction d'une nouvelle version de calcul de hachage du plan afin de prendre en charge les tables partitionnées. Les utilisateurs doivent définir apg_plan_mgmt.plan_hash_version sur 3 et appeler apg_plan_mgmt.validate_plans('update_plan_hash') dans chaque base de données dans laquelle est installé
apg_plan_mgmt
et comportant des entrées dans la table des plans. -
La fonction
apg_plan_mgmt.copy_outline
peut prendre en charge un nouveau 5e argument,force_update_target_plan_hash
. Si cet argument est défini sur true, le hachage du plan cible sera mis à jour même si le plan source n'est pas reproductible pour la fonction sql_hash cible.
Améliorations supplémentaires
-
Correction d'un problème lié à l'application du plan d'instructions préparées JDBC.
-
Correction d'un problème d'application du plan lorsque les noms d'index se terminent par des chiffres.
-
La fonction apg_plan_mgmt.copy_outline copie désormais les variables d'environnement.
-
La valeur minimale de apg_plan_mgmt.plan_retention_period passe de 32 à 1.
-
La gestion des plans de requête peut désormais enregistrer des plans pour les requêtes dans les transactions en lecture seule à partir des nœuds d'écriture.
-
Correction d'un problème dans la fonction apg_plan_mgmt.evolve_plan_baselines.
-
Correction d'un problème qui pouvait entraîner une indisponibilité lorsque apg_plan_mgmt était activé.
Pour savoir comment installer, mettre à niveau et utiliser l'extension apg_plan_mgmt
, consultez Gestion des plans d'exécution de requêtes pour Aurora PostgreSQL dans le Guide de l'utilisateur Amazon Aurora.
Versions de PostgreSQL 12
Rubriques
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 12.22, 27 décembre 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 12.22 sont les suivantes :
Améliorations supplémentaires
Correction d'un problème lié à la capture du plan sur la réplique dans la gestion du plan de requêtes, à cause duquel la matrice de mémoire partagée de la réplique devenait pleine.
Correction d'un problème lié à la gestion des plans de requêtes en arrière-plan, qui empêchait l'application de la période de conservation du plan et empêchait la mise à jour de la date de dernière utilisation.
Correction d'un problème lié au fonctionnement en arrière-plan de la gestion des plans de requêtes.
apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 12.19, 8 août 2024
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.7 pour Aurora PostgreSQL 12.19 sont les suivantes :
Nouvelles fonctionnalités
Vous n'avez plus besoin de mettre à jour le
plan_hash_version
. Après la mise à niveau du moteur de base de données, QPM active automatiquement les nouvelles fonctionnalités. Vous n'avez aucune action à effectuer pour que de nouvelles fonctionnalités soient disponibles.
Améliorations supplémentaires
Correction d'un problème lié à l'application des plans QPM contenant plus de 64 tables partitionnées.
Correction d'un problème lié à l'application des plans QPM contenant l'opérateur Ajouter.
Correction d'un problème avec QPM validate_plans avec l'action update_plan_hash.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 12.18
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 12.18 sont les suivantes :
Améliorations supplémentaires
Correction d'un problème lié à la capture du plan.
apg_plan_mgmt version 2.6 pour Aurora PostgreSQL 12.17
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.6 pour Aurora PostgreSQL 12.17 sont les suivantes :
Nouvelles fonctionnalités
Les structures de plan seront mises à jour avec la dernière version du format dans le cadre de l’action
update_plan_hash
pour la fonctionapg_plan_mgmt.validate_plans
.
apg_plan_mgmt version 2.5 pour Aurora PostgreSQL 12.16
Les améliorations apportées à l'apg_plan_mgmt
extension dans la version 2.5 pour Aurora PostgreSQL 12.16 sont les suivantes :
Nouvelles fonctionnalités
-
Pour capturer des plans de requête à partir de réplicas, vous devez mettre à jour l'extension
apg_plan_mgmt
en appelant ALTER EXTENSION apg_plan_mgmt UPDATE. -
Vous devez spécifier
apg_plan_mgmt.plan_capture_threshold
afin de ne pas autoriser QPM à capturer des plans de requête.
Version 2.3 de l'extension Aurora PostgreSQL apg_plan_mgmt
Les améliorations apportées à l'extension apg_plan_mgmt
dans la version 2.3 sont les suivantes :
Nouvelles fonctions de l'extension
Prise en charge d'une nouvelle fonction, la fonction
apg_plan_mgmt.copy_outline
. Cette fonction permet de copier un hachage de plan et une ébauche de plan d'un hachage SQL et d'un hachage de plan vers un autre. Utilisez cette fonction lorsque vous souhaitez copier un plan qui utilise des indices menant à d'autres instructions similaires sans utiliser l'instruction d'indication intégrée à chaque occurrence. Si la mise à jour de la requête aboutit à un plan non valide, la fonction génère une erreur et annule la mise à jour. Pour plus d'informations, consultez Référence de la fonction pour la gestion du plan de requête Aurora PostgreSQL dans le Guide de l'utilisateur Amazon Aurora.
Améliorations de l'extension
-
La fonctionnalité de gestion des plans de requête enregistre désormais les plans pour les requêtes qui se trouvent dans des procédures et des blocs DO. Pour les versions de
apg_plan_mgmt
antérieures à la version 2.3, cela constitue une limitation.
Pour savoir comment installer, mettre à niveau et utiliser l'extension apg_plan_mgmt
, consultez Gestion des plans d'exécution de requêtes pour Aurora PostgreSQL dans le Guide de l'utilisateur Amazon Aurora.
Version 2.1 de l'extension Aurora PostgreSQL apg_plan_mgmt
Les améliorations apportées à l'extension apg_plan_mgmt
dans la version 2.1 pour Aurora PostgreSQL 11.20 sont les suivantes :
Nouvelles fonctionnalités d'extension dans Aurora PostgreSQL 11.20
-
Introduction d'un nouveau paramètre GUC apg_plan_mgmt.log_plan_enforcement_result. En fonction de sa valeur (par défaut : none), les résultats d'application du plan sont écrits dans les fichiers journaux Postgres.
Améliorations des extensions dans Aurora PostgreSQL 11.20
-
Correction d'un problème lié à l'application du plan d'instructions préparées JDBC.
Pour savoir comment installer, mettre à niveau et utiliser l'extension apg_plan_mgmt
, consultez Gestion des plans d'exécution de requêtes pour Aurora PostgreSQL dans le Guide de l'utilisateur Amazon Aurora.
Version 2.0 de l'extension Aurora PostgreSQL apg_plan_mgmt
Les modifications apportées à l'extension apg_plan_mgmt
pour la version 2.0 sont les suivantes :
Nouvelles fonctions de l'extension
-
Vous pouvez désormais gérer toutes les requêtes dans les fonctions SQL, qu'elles aient des paramètres ou non.
-
Vous pouvez désormais gérer toutes les requêtes dans les fonctions PL/pgSQL, qu'elles aient des paramètres ou non.
-
Vous pouvez désormais gérer les requêtes dans les plans génériques, qu'elles aient des paramètres ou non. Pour obtenir une comparaison des plans génériques par rapport aux plans personnalisés, veuillez consulter l'instruction
PREPARE
dans la documentation PostgreSQL. -
Vous pouvez désormais utiliser la gestion des plans de requête pour appliquer l'utilisation de types spécifiques de méthodes d'agrégation dans les plans de requête.
Améliorations de l'extension
-
Vous pouvez désormais enregistrer des plans dont la taille atteint jusqu'à 8 fois en Ko la valeur du paramètre
max_worker_processes
. Auparavant, la taille maximale d'un plan était de 8 ko. -
Correction de bogues liés aux instructions préparées sans nom telles que les instructions de JDBC.
-
Auparavant, lorsque vous tentiez d'exécuter
CREATE EXTENSION apg_plan_mgmt
non chargé dansshared_preload_libraries
, la connexion backend PostgreSQL était abandonnée. À présent, un message d'erreur s'affiche et la connexion n'est pas abandonnée. -
La valeur par défaut de
cardinality_error
dansapg_plan_mgmt.plans table
est NULL, mais elle peut être définie sur -1 pendant la fonctionapg_plan_mgmt.evolve_plan_baselines
. La valeur NULL est désormais utilisée systématiquement. -
Les plans sont maintenant enregistrés pour les requêtes qui font référence à des tables temporaires.
-
Le nombre maximal de plans par défaut passe de 1 000 à 10 000.
-
Les paramètres pgss suivants sont obsolètes car le mode de capture automatique des plans doit être utilisé à la place de ces paramètres.
-
apg_plan_mgmt.pgss_min_calls
-
apg_plan_mgmt.pgss_min_mean_time_ms
-
apg_plan_mgmt.pgss_min_stddev_time_ms
-
apg_plan_mgmt.pgss_min_total_time_ms
-
Version 1.0.1 de l'extension Aurora PostgreSQL apg_plan_mgmt
Les modifications apportées à l'extension apg_plan_mgmt
pour la version 1.0.1 sont les suivantes :
Nouvelles fonctions de l'extension
-
La fonction
validate_plans
a une nouvelle valeuraction
appeléeupdate_plan_hash
. Cette action met à jour l'IDplan_hash
des plans qui ne peuvent pas être reproduits exactement. La valeurupdate_plan_hash
vous permet également de corriger un plan en réécrivant le code SQL. Vous pouvez ensuite enregistrer le bon plan comme planApproved
pour le SQL original. Voici un exemple d'utilisation de l'actionupdate_plan_hash
.UPDATE apg_plan_mgmt.plans SET plan_hash =
new _plan_hash
, plan_outline =good_plan_outline
WHERE sql_hash =bad_plan_sql_hash
AND plan_hash =bad_plan_plan_hash
; SELECT apg_plan_mgmt.validate_plans(bad_plan_sql_hash
,bad_plan_plan_hash
, 'update_plan_hash'); SELECT apg_plan_mgmt.reload(); -
Une nouvelle fonction
get_explain_stmt
est disponible qui génère le texte d'une instructionEXPLAIN
pour l'instruction SQL spécifiée. Elle inclut les paramètressql_hash
,plan_hash
etexplain_options
.Le paramètre
explain_options
peut être une liste d'optionsEXPLAIN
valides séparées par des virgules, comme ci-après.analyze,verbose,buffers,hashes,format json
Si le paramètre
explain_options
a la valeur NULL ou est une chaîne vide, la fonctionget_explain_stmt
génère une simple instructionEXPLAIN
.Pour créer un script
EXPLAIN
pour votre charge de travail ou une partie de celle-ci, utilisez les options\a
,\t
et\o
pour rediriger la sortie vers un fichier. Par exemple, vous pouvez créer un scriptEXPLAIN
pour les instructions de rang supérieur à l'aide de la vue PostgreSQLpg_stat_statements
triées partotal_time
en ordreDESC
. -
L'emplacement exact de l'opérateur de requête parallèle Gather est déterminé par le coût et peut changer légèrement au fil du temps. Pour empêcher ces différences de rendre invalide la totalité du plan, la gestion des plans de requête calcule désormais le même
plan_hash
, même si les opérateurs Gather se déplacent vers des endroits différents de l'arborescence des plans. -
Ajout de la prise en charge pour les instructions non paramétrées à l'intérieur des fonctions pl/pgsql.
-
La surcharge est réduite quand l'extension
apg_plan_mgmt
est installée sur plusieurs bases de données du même cluster, tandis que deux ou plusieurs bases de données sont accédées simultanément. De même, cette version a corrigé un bogue dans cette zone, lequel empêchait que les plans soient stockés en mémoire partagée.
Améliorations de l'extension
-
Améliorations de la fonction
evolve_plan_baselines
.-
La fonction
evolve_plan_baselines
calcule désormais une métriquecardinality_error
sur tous les nœuds du plan. À l'aide de cette métrique, vous pouvez identifier tout plan où l'erreur d'estimation de la cardinalité est importante et la qualité du plan plus que douteuse. Les instructions à longue exécution et valeurscardinality_error
élevées sont candidates de première priorité pour le réglage des requêtes. -
Les rapports générés par
evolve_plan_baselines
incluent désormaissql_hash
,plan_hash
, et le planstatus
. -
Vous pouvez désormais autoriser
evolve_plan_baselines
à approuver préalablement les plansRejected
. -
La signification de
speedup_factor
pourevolve_plan_baselines
est désormais toujours relative au plan de référence. Par exemple, la valeur 1.1 signifie désormais 10 % plus rapide que le plan de référence. La valeur 0.9 signifie 10 % plus lent que le plan de référence. La comparaison est établie à l'aide de la durée d'exécution seule, et non de la durée totale. -
La fonction
evolve_plan_baselines
avertit désormais le cache d'une nouvelle façon. Il le fait en exécutant le plan de référence, puis en exécutant le plan de base une fois de plus, et enfin le plan candidat une fois. Précédemment,evolve_plan_baselines
exécutait le plan candidat deux fois. Cette approche a augmenté la durée d'exécution, spécialement pour les plans candidats lents. Cependant, la double exécution du plan candidat est plus fiable quand le plan candidat utilise un index qui n'est pas utilisé dans le plan de référence.
-
-
La gestion des plans de requêtes n'enregistre plus les plans qui se rapportent aux vues ou tables système, aux tables temporaires ou aux propres tables de la gestion des plans de requêtes.
-
Les correctifs de bogues incluent la mise en cache immédiate d'un plan une fois enregistré et la correction d'un bogue qui provoquait l'arrêt du back-end.