Mises à jour de gestion du plan de requêtes Aurora PostgreSQL - Amazon Aurora

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_mgmtextension 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_mgmtextension 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'appel validate_plans et des evolve_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

apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 16.8, 8 avril 2025

Les améliorations apportées à l'apg_plan_mgmtextension 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'appel validate_plans et des evolve_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_mgmtextension 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_mgmtextension dans la version 2.7 pour Aurora PostgreSQL 16.3 sont les suivantes :

Nouvelles fonctionnalités
  • Vous n'avez plus besoin de mettre à jour leplan_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_mgmtextension 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_mgmtextension 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 fonction apg_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 :

    1. Définissez apg_plan_mgmt.plan_hash_version sur 5.

    2. 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

apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 15.12, 8 avril 2025

Les améliorations apportées à l'apg_plan_mgmtextension 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'appel validate_plans et des evolve_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_mgmtextension 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_mgmtextension 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_mgmtextension dans la version 2.7 pour Aurora PostgreSQL 15.7 sont les suivantes :

Nouvelles fonctionnalités
  • Vous n'avez plus besoin de mettre à jour leplan_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_mgmtextension 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_mgmtextension 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 fonction apg_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 :

    1. Définissez apg_plan_mgmt.plan_hash_version sur 5.

    2. 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_mgmtextension 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_mgmtextension 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

apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 14.17, 8 avril 2025

Les améliorations apportées à l'apg_plan_mgmtextension 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'appel validate_plans et des evolve_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_mgmtextension 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_mgmtextension dans la version 2.7 pour Aurora PostgreSQL 14.12 sont les suivantes :

Nouvelles fonctionnalités
  • Vous n'avez plus besoin de mettre à jour leplan_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_mgmtextension 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_mgmtextension 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 fonction apg_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 :

    1. Définissez apg_plan_mgmt.plan_hash_version sur 5.

    2. 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_mgmtextension 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_mgmtextension 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

apg_plan_mgmt version 2.8 pour Aurora PostgreSQL 13.20, 8 avril 2025

Les améliorations apportées à l'apg_plan_mgmtextension 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'appel validate_plans et des evolve_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_mgmtextension 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_mgmtextension dans la version 2.7 pour Aurora PostgreSQL 13.15 sont les suivantes :

Nouvelles fonctionnalités
  • Vous n'avez plus besoin de mettre à jour leplan_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_mgmtextension 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_mgmtextension 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 fonction apg_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 :

    1. Définissez apg_plan_mgmt.plan_hash_version sur 5.

    2. 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_mgmtextension 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_mgmtextension 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

apg_plan_mgmt version 2.7 pour Aurora PostgreSQL 12.22, 27 décembre 2024

Les améliorations apportées à l'apg_plan_mgmtextension 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_mgmtextension dans la version 2.7 pour Aurora PostgreSQL 12.19 sont les suivantes :

Nouvelles fonctionnalités
  • Vous n'avez plus besoin de mettre à jour leplan_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_mgmtextension 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_mgmtextension 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 fonction apg_plan_mgmt.validate_plans.

apg_plan_mgmt version 2.5 pour Aurora PostgreSQL 12.16

Les améliorations apportées à l'apg_plan_mgmtextension 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
  1. Vous pouvez désormais gérer toutes les requêtes dans les fonctions SQL, qu'elles aient des paramètres ou non.

  2. Vous pouvez désormais gérer toutes les requêtes dans les fonctions PL/pgSQL, qu'elles aient des paramètres ou non.

  3. 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.

  4. 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
  1. 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.

  2. Correction de bogues liés aux instructions préparées sans nom telles que les instructions de JDBC.

  3. Auparavant, lorsque vous tentiez d'exécuter CREATE EXTENSION apg_plan_mgmt non chargé dans shared_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.

  4. La valeur par défaut de cardinality_error dans apg_plan_mgmt.plans table est NULL, mais elle peut être définie sur -1 pendant la fonction apg_plan_mgmt.evolve_plan_baselines. La valeur NULL est désormais utilisée systématiquement.

  5. Les plans sont maintenant enregistrés pour les requêtes qui font référence à des tables temporaires.

  6. Le nombre maximal de plans par défaut passe de 1 000 à 10 000.

  7. 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
  1. La fonction validate_plans a une nouvelle valeur action appelée update_plan_hash. Cette action met à jour l'ID plan_hash des plans qui ne peuvent pas être reproduits exactement. La valeur update_plan_hash vous permet également de corriger un plan en réécrivant le code SQL. Vous pouvez ensuite enregistrer le bon plan comme plan Approved pour le SQL original. Voici un exemple d'utilisation de l'action update_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();
  2. Une nouvelle fonction get_explain_stmt est disponible qui génère le texte d'une instruction EXPLAIN pour l'instruction SQL spécifiée. Elle inclut les paramètres sql_hash, plan_hash et explain_options.

    Le paramètre explain_options peut être une liste d'options EXPLAIN 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 fonction get_explain_stmt génère une simple instruction EXPLAIN.

    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 script EXPLAIN pour les instructions de rang supérieur à l'aide de la vue PostgreSQL pg_stat_statements triées par total_time en ordre DESC.

  3. 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.

  4. Ajout de la prise en charge pour les instructions non paramétrées à l'intérieur des fonctions pl/pgsql.

  5. 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
  1. Améliorations de la fonction evolve_plan_baselines.

    1. La fonction evolve_plan_baselines calcule désormais une métrique cardinality_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 valeurs cardinality_error élevées sont candidates de première priorité pour le réglage des requêtes.

    2. Les rapports générés par evolve_plan_baselines incluent désormais sql_hash, plan_hash, et le plan status.

    3. Vous pouvez désormais autoriser evolve_plan_baselines à approuver préalablement les plans Rejected.

    4. La signification de speedup_factor pour evolve_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.

    5. 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.

  2. 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.

  3. 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.