Atualizações de gerenciamento do plano de SQL consulta do Aurora Postgre - Amazon Aurora

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Atualizações de gerenciamento do plano de SQL consulta do Aurora Postgre

A AWS apg_plan_mgmt extensão fornece ao seu cluster de SQL banco de dados Aurora Postgre o recurso de gerenciamento do plano de consulta. Ele permite que você gerencie os planos de execução de consultas gerados pelo otimizador para seus SQL aplicativos para melhorar a estabilidade e evitar regressões. Para obter mais informações, consulte Gerenciamento de planos de execução de consultas para o Aurora Postgre SQL no Guia do usuário do Amazon Aurora.

Postgre SQL 16 versões

apg_plan_mgmt versão 2.7 para Aurora Postgre 16.3 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.7 para o Aurora Postgre SQL 16.3 incluem o seguinte:

Novos atributos
  • Você não precisa mais atualizar plan_hash_version o. Depois de atualizar o mecanismo de banco de dados, habilita QPM automaticamente novos recursos. Você não precisa realizar nenhuma ação para que novos recursos sejam disponibilizados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a aplicação de QPM planos contendo mais de 64 tabelas particionadas.

  • Corrigido um problema com a aplicação de QPM planos contendo o operador Anexar.

  • Corrigido um problema com QPM validate_plans com a ação update_plan_hash.

apg_plan_mgmt versão 2.6 para Aurora Postgre 16.2 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 16.2 incluem o seguinte:

Novos atributos
  • QPMpode aplicar planos com operadores agregados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema em que a eliminação de um banco de dados não removia os planos capturados associados da memória compartilhada.

  • Corrigido um problema com a aplicação de planos contendo visualizações.

  • Melhorias na aplicação do plano Parallel Append.

  • Corrigido um problema relacionado à captura do plano.

  • Corrigido um problema com a aplicação de planos contendo nós de coleta.

apg_plan_mgmt versão 2.6 para Aurora Postgre 16.1 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 16.1 incluem o seguinte:

Novos atributos
  • A descrição do plano será atualizada para a versão de formato mais recente como parte da ação update_plan_hash para a função apg_plan_mgmt.validate_plans.

  • Adicionado suporte à aplicação paralela de Append como parte da aplicação da consulta paralela. Para aplicar os nós de anexação paralelos corretamente, você deve fazer o seguinte:

    1. Defina apg_plan_mgmt.plan_hash_version como 5.

    2. Chame apg_plan_mgmt.validate_plans('update_plan_hash').

Melhorias e aprimoramentos adicionais
  • Melhoria de desempenho no cálculo de hash do plano.

  • Utilização aprimorada da memória para descrições de planos que contêm subplanos repetitivos.

  • Corrigido um problema na aplicação paralela de consultas em que GatherMerge não podia ser aplicada.

  • Corrigido um problema em que o custo estimado do plano aplicado estava incorreto.

  • Corrigido um problema na aplicação dos planos aprovados em que a descrição contém tabelas e subplanos particionados.

Postgre SQL 15 versões

apg_plan_mgmt versão 2.7 para SQL Aurora Postger 15.8, 30 de setembro de 2024

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.7 para o Aurora Postgre SQL 15.8 incluem o seguinte:

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a aplicação dos planos de gerenciamento do plano de consulta contendo agregados de hash.

apg_plan_mgmt versão 2.7 para SQL Aurora Postger 15.7, 8 de agosto de 2024

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.7 para o Aurora Postgre SQL 15.7 incluem o seguinte:

Novos atributos
  • Você não precisa mais atualizar plan_hash_version o. Depois de atualizar o mecanismo de banco de dados, habilita QPM automaticamente novos recursos. Você não precisa realizar nenhuma ação para que novos recursos sejam disponibilizados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a aplicação de QPM planos contendo mais de 64 tabelas particionadas.

  • Corrigido um problema com a aplicação de QPM planos contendo o operador Anexar.

  • Corrigido um problema com QPM validate_plans com a ação update_plan_hash.

apg_plan_mgmt versão 2.6 para Aurora Postgre 15.6 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 15.6 incluem o seguinte:

Novos atributos
  • QPMpode aplicar planos com operadores agregados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema em que a eliminação de um banco de dados não removia os planos capturados associados da memória compartilhada.

  • Corrigido um problema com a aplicação de planos contendo visualizações.

  • Melhorias na aplicação do plano Parallel Append.

  • Corrigido um problema relacionado à captura do plano.

  • Corrigido um problema com a aplicação de planos contendo nós de coleta.

apg_plan_mgmt versão 2.6 para Aurora Postgre 15.5 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 15.5 incluem o seguinte:

Novos atributos
  • A descrição do plano será atualizada para a versão de formato mais recente como parte da ação update_plan_hash para a função apg_plan_mgmt.validate_plans.

  • Adicionado suporte à aplicação paralela de Append como parte da aplicação da consulta paralela. Para aplicar os nós de anexação paralelos corretamente, você deve fazer o seguinte:

    1. Defina apg_plan_mgmt.plan_hash_version como 5.

    2. Chame apg_plan_mgmt.validate_plans('update_plan_hash').

Melhorias e aprimoramentos adicionais
  • Melhoria de desempenho no cálculo de hash do plano.

  • Utilização aprimorada da memória para descrições de planos que contêm subplanos repetitivos.

  • Corrigido um problema na aplicação paralela de consultas em que GatherMerge não podia ser aplicada.

  • Corrigido um problema em que o custo estimado do plano aplicado estava incorreto.

  • Corrigido um problema na aplicação dos planos aprovados em que a descrição contém tabelas e subplanos particionados.

apg_plan_mgmt versão 2.5 para Aurora Postgre 15.4 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.5 para o Aurora Postgre SQL 15.4 incluem o seguinte:

Novos atributos
  • QPMpode impor que os planos de consulta tenham operadores paralelos, exceto o nó Parallel Append. Para aplicar corretamente os planos de consulta paralela, é necessário fazer o seguinte após a atualização para 15.4 ou 14.9:

    • Defina apg_plan_mgmt.plan_hash_version como 4 ou superior.

    • Chame apg_plan_mgmt.validate_plans('update_plan_hash').

    • Recapture planos aprovados que tenham o nó Gather em plan_outline.

  • QPMpode impor planos de consulta com os nós Materialize. Para aplicar os nós do Materialize, é necessário fazer o seguinte após a atualização para a versão 15.4 ou 14.9:

    • Defina apg_plan_mgmt.plan_hash_version como 4 ou superior.

    • Chame apg_plan_mgmt.validate_plans('update_plan_hash').

  • Para capturar planos de consulta de réplicas, você deve atualizar a apg_plan_mgmt extensão chamando ALTER EXTENSION UPDATE apg_plan_mgmt.

  • Você precisa especificar apg_plan_mgmt.plan_capture_threshold para não permitir a captura QPM de nenhum plano de consulta.

Melhorias e aprimoramentos adicionais
  • Melhoria de desempenho no plan_hash cálculo.

apg_plan_mgmt versão 2.4 para Aurora Postgre 15.3 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.4 para o Aurora Postgre SQL 15.3 incluem o seguinte:

Novos atributos
  • Introduziu um novo GUC auto_explain.hashes. Quando definido como true (padrão: false), sql_hash e plan_hash são mostrados no final do resultado da explicação automática.

  • Introduziu um novo GUC apg_plan_mgmt.explain_hashes. Quando definido como verdadeiro (padrão: falso), o EXPLAIN resultado mostra sql_hash e plan_hash mesmo sem a opção hashes true.

  • Introduziu um novo GUC apg_plan_mgmt.log_plan_enforcement_result. Dependendo de seu valor (padrão: nenhum), os resultados da aplicação do plano são gravados nos arquivos de log do Postgres.

  • Introduzida uma nova versão de cálculo de hash do plano para oferecer suporte a tabelas particionadas. Os usuários precisam definir apg_plan_mgmt.plan_hash_version como 3 e chamar apg_plan_mgmt.validate_plans('update_plan_hash') em cada banco de dados com apg_plan_mgmt instalado e entradas na tabela de planos.

  • QPMpode impor planos de consulta com os nós do Memoize.

  • A função apg_plan_mgmt.copy_outline pode receber um novo quinto argumento, force_update_target_plan_hash. Se for definido como verdadeiro, o hash do plano de destino será atualizado mesmo que o plano de origem não seja reproduzível para o sql_hash de destino.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a execução do plano de declarações JDBC preparadas.

  • Paridade aprimorada em relação ao queryid entre pg_stat_statements e apg_plan_mgmt.dba_plans.

  • Corrigido um problema de aplicação do plano quando os nomes dos índices terminavam com dígitos.

  • A função apg_plan_mgmt.copy_outline agora copia environment_variables.

  • O valor mínimo de apg_plan_mgmt.plan_retention_period muda de 32 para 1.

  • O gerenciamento do plano de consulta agora pode salvar planos para consultas em transações somente leitura dos nós do gravador.

  • Corrigido um problema na função apg_plan_mgmt.evolve_plan_baselines.

  • Correção de um problema que poderia causar indisponibilidade quando apg_plan_mgmt estava habilitado.

Para saber como instalar, atualizar e usar a apg_plan_mgmt extensão, consulte Gerenciamento de planos de execução de consultas para o Aurora Postgre SQL no Guia do usuário do Amazon Aurora.

Postgre SQL 14 versões

apg_plan_mgmt versão 2.7 para SQL Aurora Postger 14.12, 8 de agosto de 2024

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.7 para o Aurora Postgre SQL 14.12 incluem o seguinte:

Novos atributos
  • Você não precisa mais atualizar plan_hash_version o. Depois de atualizar o mecanismo de banco de dados, habilita QPM automaticamente novos recursos. Você não precisa realizar nenhuma ação para que novos recursos sejam disponibilizados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a aplicação de QPM planos contendo mais de 64 tabelas particionadas.

  • Corrigido um problema com a aplicação de QPM planos contendo o operador Anexar.

  • Corrigido um problema com QPM validate_plans com a ação update_plan_hash.

apg_plan_mgmt versão 2.6 para Aurora Postgre 14.11 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 14.11 incluem o seguinte:

Novos atributos
  • QPMpode aplicar planos com operadores agregados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema em que a eliminação de um banco de dados não removia os planos capturados associados da memória compartilhada.

  • Corrigido um problema com a aplicação de planos contendo visualizações.

  • Melhorias na aplicação do plano Parallel Append.

  • Corrigido um problema relacionado à captura do plano.

  • Corrigido um problema com a aplicação de planos contendo nós de coleta.

apg_plan_mgmt versão 2.6 para Aurora Postgre 14.10 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 14.10 incluem o seguinte:

Novos atributos
  • A descrição do plano será atualizada para a versão de formato mais recente como parte da ação update_plan_hash para a função apg_plan_mgmt.validate_plans.

  • Adicionado suporte à aplicação paralela de Append como parte da aplicação da consulta paralela. Para aplicar os nós de anexação paralelos corretamente, você deve fazer o seguinte:

    1. Defina apg_plan_mgmt.plan_hash_version como 5.

    2. Chame apg_plan_mgmt.validate_plans('update_plan_hash').

Melhorias e aprimoramentos adicionais
  • Melhoria de desempenho no cálculo de hash do plano.

  • Utilização aprimorada da memória para descrições de planos que contêm subplanos repetitivos.

  • Corrigido um problema na aplicação paralela de consultas em que GatherMerge não podia ser aplicada.

  • Corrigido um problema em que o custo estimado do plano aplicado estava incorreto.

  • Corrigido um problema na aplicação dos planos aprovados em que a descrição contém tabelas e subplanos particionados.

apg_plan_mgmt versão 2.5 para Aurora Postgre 14.9 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.5 para o Aurora Postgre SQL 14.9 incluem o seguinte:

Novos atributos
  • QPMpode impor que os planos de consulta tenham operadores paralelos, exceto o nó Parallel Append. Para aplicar corretamente os planos de consulta paralela, é necessário fazer o seguinte após a atualização para 15.4 ou 14.9:

    • Defina apg_plan_mgmt.plan_hash_version como 4 ou superior.

    • Chame apg_plan_mgmt.validate_plans('update_plan_hash').

    • Recapture planos aprovados que tenham o nó Gather em plan_outline.

  • QPMpode impor planos de consulta com os nós Materialize. Para aplicar os nós do Materialize, é necessário fazer o seguinte após a atualização para a versão 15.4 ou 14.9:

    • Defina apg_plan_mgmt.plan_hash_version como 4 ou superior.

    • Chame apg_plan_mgmt.validate_plans('update_plan_hash').

  • Para capturar planos de consulta de réplicas, você deve atualizar a apg_plan_mgmt extensão chamando ALTER EXTENSION UPDATE apg_plan_mgmt.

  • Você precisa especificar apg_plan_mgmt.plan_capture_threshold para não permitir a captura QPM de nenhum plano de consulta.

Melhorias e aprimoramentos adicionais
  • Melhoria de desempenho no plan_hash cálculo.

apg_plan_mgmt versão 2.4 para Aurora Postgre 14.8 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.4 para o Aurora Postgre SQL 14.8 incluem o seguinte:

Novos atributos
  • Introduziu um novo GUC auto_explain.hashes. Quando definido como true (padrão: false), sql_hash e plan_hash são mostrados no final do resultado da explicação automática.

  • Introduziu um novo GUC apg_plan_mgmt.explain_hashes. Quando definido como verdadeiro (padrão: falso), o EXPLAIN resultado mostra sql_hash e plan_hash mesmo sem a opção hashes true.

  • Introduziu um novo GUC apg_plan_mgmt.log_plan_enforcement_result. Dependendo de seu valor (padrão: nenhum), os resultados da aplicação do plano são gravados nos arquivos de log do Postgres.

  • Introduzida uma nova versão de cálculo de hash do plano para oferecer suporte a tabelas particionadas. Os usuários precisam definir apg_plan_mgmt.plan_hash_version como 3 e chamar apg_plan_mgmt.validate_plans('update_plan_hash') em cada banco de dados com apg_plan_mgmt instalado e entradas na tabela de planos.

  • QPMpode impor planos de consulta com os nós do Memoize.

  • A função apg_plan_mgmt.copy_outline pode receber um novo quinto argumento, force_update_target_plan_hash. Se for definido como verdadeiro, o hash do plano de destino será atualizado mesmo que o plano de origem não seja reproduzível para o sql_hash de destino.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a execução do plano de declarações JDBC preparadas.

  • Paridade aprimorada em relação ao queryid entre pg_stat_statements e apg_plan_mgmt.dba_plans.

  • Corrigido um problema de aplicação do plano quando os nomes dos índices terminavam com dígitos.

  • A função apg_plan_mgmt.copy_outline agora copia environment_variables.

  • O valor mínimo de apg_plan_mgmt.plan_retention_period muda de 32 para 1.

  • O gerenciamento do plano de consulta agora pode salvar planos para consultas em transações somente leitura dos nós do gravador.

  • Corrigido um problema na função apg_plan_mgmt.evolve_plan_baselines.

  • Correção de um problema que poderia causar indisponibilidade quando apg_plan_mgmt estava habilitado.

Para saber como instalar, atualizar e usar a apg_plan_mgmt extensão, consulte Gerenciamento de planos de execução de consultas para o Aurora Postgre SQL no Guia do usuário do Amazon Aurora.

Postgre SQL 13 versões

apg_plan_mgmt versão 2.7 para SQL Aurora Postger 13.15, 8 de agosto de 2024

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.7 para o Aurora Postgre SQL 13.15 incluem o seguinte:

Novos atributos
  • Você não precisa mais atualizar plan_hash_version o. Depois de atualizar o mecanismo de banco de dados, habilita QPM automaticamente novos recursos. Você não precisa realizar nenhuma ação para que novos recursos sejam disponibilizados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a aplicação de QPM planos contendo mais de 64 tabelas particionadas.

  • Corrigido um problema com a aplicação de QPM planos contendo o operador Anexar.

  • Corrigido um problema com QPM validate_plans com a ação update_plan_hash.

apg_plan_mgmt versão 2.6 para Aurora Postgre 13.14 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 13.14 incluem o seguinte:

Novos atributos
  • QPMpode aplicar planos com operadores agregados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema em que a eliminação de um banco de dados não removia os planos capturados associados da memória compartilhada.

  • Corrigido um problema com a aplicação de planos contendo visualizações.

  • Melhorias na aplicação do plano Parallel Append.

  • Corrigido um problema relacionado à captura do plano.

  • Corrigido um problema com a aplicação de planos contendo nós de coleta.

apg_plan_mgmt versão 2.6 para Aurora Postgre 13.13 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 13.13 incluem o seguinte:

Novos atributos
  • A descrição do plano será atualizada para a versão de formato mais recente como parte da ação update_plan_hash para a função apg_plan_mgmt.validate_plans.

  • Adicionado suporte à aplicação paralela de Append como parte da aplicação da consulta paralela. Para aplicar os nós de anexação paralelos corretamente, você deve fazer o seguinte:

    1. Defina apg_plan_mgmt.plan_hash_version como 5.

    2. Chame apg_plan_mgmt.validate_plans('update_plan_hash').

Melhorias e aprimoramentos adicionais
  • Melhoria de desempenho no cálculo de hash do plano.

  • Utilização aprimorada da memória para descrições de planos que contêm subplanos repetitivos.

  • Corrigido um problema na aplicação paralela de consultas em que GatherMerge não podia ser aplicada.

  • Corrigido um problema em que o custo estimado do plano aplicado estava incorreto.

  • Corrigido um problema na aplicação dos planos aprovados em que a descrição contém tabelas e subplanos particionados.

apg_plan_mgmt versão 2.5 para Aurora Postgre 13.12 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.5 para o Aurora Postgre SQL 13.12 incluem o seguinte:

Novos atributos
  • QPMpode impor que os planos de consulta tenham operadores paralelos, exceto o nó Parallel Append. Para aplicar corretamente os planos de consulta paralela, é necessário fazer o seguinte após a atualização para 15.4 ou 14.9:

    • Defina apg_plan_mgmt.plan_hash_version como 4 ou superior.

    • Chame apg_plan_mgmt.validate_plans('update_plan_hash').

    • Recapture planos aprovados que tenham o nó Gather em plan_outline.

  • Para capturar planos de consulta de réplicas, você deve atualizar a apg_plan_mgmt extensão chamando ALTER EXTENSION UPDATE apg_plan_mgmt.

  • Você precisa especificar apg_plan_mgmt.plan_capture_threshold para não permitir a captura QPM de nenhum plano de consulta.

apg_plan_mgmt versão 2.4 para Aurora Postgre 13.11 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.4 para o Aurora Postgre SQL 13.11 incluem o seguinte:

Novos atributos
  • Introduziu um novo GUC auto_explain.hashes. Quando definido como true (padrão: false), sql_hash e plan_hash são mostrados no final do resultado da explicação automática.

  • Introduziu um novo GUC apg_plan_mgmt.explain_hashes. Quando definido como verdadeiro (padrão: falso), o EXPLAIN resultado mostra sql_hash e plan_hash mesmo sem a opção hashes true.

  • Introduziu um novo GUC apg_plan_mgmt.log_plan_enforcement_result. Dependendo de seu valor (padrão: nenhum), os resultados da aplicação do plano são gravados nos arquivos de log do Postgres.

  • Introduzida uma nova versão de cálculo de hash do plano para oferecer suporte a tabelas particionadas. Os usuários precisam definir apg_plan_mgmt.plan_hash_version como 3 e chamar apg_plan_mgmt.validate_plans('update_plan_hash') em cada banco de dados com apg_plan_mgmt instalado e entradas na tabela de planos.

  • A função apg_plan_mgmt.copy_outline pode receber um novo quinto argumento, force_update_target_plan_hash. Se for definido como verdadeiro, o hash do plano de destino será atualizado mesmo que o plano de origem não seja reproduzível para o sql_hash de destino.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a execução do plano de declarações JDBC preparadas.

  • Corrigido um problema de aplicação do plano quando os nomes dos índices terminavam com dígitos.

  • A função apg_plan_mgmt.copy_outline agora copia environment_variables.

  • O valor mínimo de apg_plan_mgmt.plan_retention_period muda de 32 para 1.

  • O gerenciamento do plano de consulta agora pode salvar planos para consultas em transações somente leitura dos nós do gravador.

  • Corrigido um problema na função apg_plan_mgmt.evolve_plan_baselines.

  • Correção de um problema que poderia causar indisponibilidade quando apg_plan_mgmt estava habilitado.

Para saber como instalar, atualizar e usar a apg_plan_mgmt extensão, consulte Gerenciamento de planos de execução de consultas para o Aurora Postgre SQL no Guia do usuário do Amazon Aurora.

Postgre SQL 12 versões

apg_plan_mgmt versão 2.7 para SQL Aurora Postger 12.19, 8 de agosto de 2024

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.7 para o Aurora Postgre SQL 12.19 incluem o seguinte:

Novos atributos
  • Você não precisa mais atualizar plan_hash_version o. Depois de atualizar o mecanismo de banco de dados, habilita QPM automaticamente novos recursos. Você não precisa realizar nenhuma ação para que novos recursos sejam disponibilizados.

Melhorias e aprimoramentos adicionais
  • Corrigido um problema com a aplicação de QPM planos contendo mais de 64 tabelas particionadas.

  • Corrigido um problema com a aplicação de QPM planos contendo o operador Anexar.

  • Corrigido um problema com QPM validate_plans com a ação update_plan_hash.

apg_plan_mgmt versão 2.6 para Aurora Postgre 12.18 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 12.18 incluem o seguinte:

Melhorias e aprimoramentos adicionais
  • Corrigido um problema relacionado à captura do plano.

apg_plan_mgmt versão 2.6 para Aurora Postgre 12.17 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.6 para o Aurora Postgre SQL 12.17 incluem o seguinte:

Novos atributos
  • A descrição do plano será atualizada para a versão de formato mais recente como parte da ação update_plan_hash para a função apg_plan_mgmt.validate_plans.

apg_plan_mgmt versão 2.5 para Aurora Postgre 12.16 SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.5 para o Aurora Postgre SQL 12.16 incluem o seguinte:

Novos atributos
  • Para capturar planos de consulta de réplicas, você deve atualizar a apg_plan_mgmt extensão chamando ALTER EXTENSION UPDATE apg_plan_mgmt.

  • Você precisa especificar apg_plan_mgmt.plan_capture_threshold para não permitir a captura QPM de nenhum plano de consulta.

Versão 2.3 da extensão apg_plan_mgmt do Aurora Postgre SQL

As melhorias na extensão apg_plan_mgmt na versão 2.3 incluem o seguinte:

Novos atributos da extensão
  • Suporte para uma nova função, a função apg_plan_mgmt.copy_outline. Essa função permite copiar um hash do plano e um esboço do plano de um SQL hash e um hash do plano para outro. Use essa função quando quiser copiar um plano que usa dicas para outras instruções semelhantes sem usar a instrução de dica em linha em cada ocorrência. Se a atualização na consulta resultar em um plano inválido, a função gerará um erro e reverterá a atualização. Para obter mais informações, consulte Referência de funções para gerenciamento de planos de SQL consulta do Aurora Postgre no Guia do usuário do Amazon Aurora.

Melhorias de extensão
  • O atributo de gerenciamento do plano de consulta agora salva os planos para consultas que estão dentro dos procedimentos e dos bloqueios de DO. Para versões do apg_plan_mgmt anteriores à versão 2.3, isso tem sido uma limitação.

Para saber como instalar, atualizar e usar a apg_plan_mgmt extensão, consulte Gerenciamento de planos de execução de consultas para o Aurora Postgre SQL no Guia do usuário do Amazon Aurora.

Versão 2.1 da extensão apg_plan_mgmt do Aurora Postgre SQL

Os aprimoramentos na apg_plan_mgmt extensão na versão 2.1 do Aurora Postgre SQL 11.20 incluem o seguinte:

Novos recursos de extensão no Aurora Postgre 11.20 SQL
  • Introduziu um novo GUC apg_plan_mgmt.log_plan_enforcement_result. Dependendo de seu valor (padrão: nenhum), os resultados da aplicação do plano são gravados nos arquivos de log do Postgres.

Melhorias na extensão Aurora Postgre 11.20 SQL
  • Corrigido um problema com a execução do plano de declarações JDBC preparadas.

Para saber como instalar, atualizar e usar a apg_plan_mgmt extensão, consulte Gerenciamento de planos de execução de consultas para o Aurora Postgre SQL no Guia do usuário do Amazon Aurora.

Versão 2.0 da extensão apg_plan_mgmt do Aurora Postgre SQL

As alterações da extensão apg_plan_mgmt para a versão 2.0 incluem o seguinte:

Novos recursos da extensão
  1. Agora você pode gerenciar todas as consultas dentro das SQL funções, independentemente de elas terem parâmetros ou não.

  2. Agora você pode gerenciar todas as consultas dentro das SQL funções PL/Pg, tenham elas parâmetros ou não.

  3. Agora é possível gerenciar consultas em planos genéricos, se elas tiverem parâmetros ou não. Para saber mais sobre planos genéricos versus planos personalizados, consulte a PREPARE declaração na SQLdocumentação do Postgre.

  4. Agora é possível usar o gerenciamento de planos de consultas para impor o uso de tipos específicos de métodos agregados em planos de consulta.

Melhorias de extensão
  1. Agora é possível salvar planos com um tamanho de até 8 KB vezes a configuração do parâmetro max_worker_processes. Anteriormente, o tamanho máximo do plano era de 8 KB.

  2. Foram corrigidos erros em declarações preparadas sem nome, como as deJDBC.

  3. Anteriormente, quando você tentava fazer isso CREATE EXTENSION apg_plan_mgmt quando não estava carregado noshared_preload_libraries, a conexão de SQL back-end do Postgre era interrompida. Agora, uma mensagem de erro é impressa e a conexão não é descartada.

  4. O valor padrão de cardinality_error in the apg_plan_mgmt.plans table éNULL, mas ele pode ser definido como -1 durante a apg_plan_mgmt.evolve_plan_baselines função. NULLagora é usado de forma consistente.

  5. Os planos agora são salvos para consultas que fazem referência a tabelas temporárias.

  6. O número máximo padrão de planos foi aumentado de 1.000 para 10.000.

  7. Os parâmetros pgss a seguir estão defasados porque o modo automático de captura de plano deve ser usado em vez desses parâmetros.

    • 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

Versão 1.0.1 da extensão apg_plan_mgmt do Aurora Postgre SQL

As alterações da extensão apg_plan_mgmt para a versão 1.0.1 incluem o seguinte:

Novos recursos da extensão
  1. A função validate_plans tem um novo valor action chamado update_plan_hash. Esta ação atualiza o ID plan_hash para planos que não podem ser reproduzidos exatamente. O update_plan_hash valor também permite que você corrija um plano reescrevendo o. SQL Em seguida, você pode registrar o bom plano como um Approved plano para o originalSQL. Segue-se um exemplo de uso da ação 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. Está disponível uma nova get_explain_stmt função que gera o texto de uma EXPLAIN instrução para a SQL instrução especificada. Ela inclui os parâmetros sql_hash, plan_hash e explain_options.

    O parâmetro explain_options pode ser qualquer lista separada por vírgulas de opções de EXPLAIN válidas, conforme mostrado a seguir.

    analyze,verbose,buffers,hashes,format json

    Se o parâmetro explain_options for NULL ou uma string vazia, a get_explain_stmt função gerará uma EXPLAIN declaração simples.

    Para criar um script de EXPLAIN para sua workload ou para uma parte dela, use as opções \a, \t e \o para redirecionar a saída para um arquivo. Por exemplo, você pode criar um EXPLAIN script para as declarações mais bem classificadas (Top K) usando a SQL pg_stat_statements visualização do Postgre ordenada por ordem. total_time DESC

  3. O local exato do operador de consulta paralela Gather é determinado por custos, e pode ser alterado levemente ao longo do tempo. Para evitar que essas diferenças invalidem o plano inteiro, o gerenciamento de planos de consultas agora calcula o mesmo plan_hash que os operadores Gather sejam movidos para locais diferentes na árvore de planos.

  4. Adicionado suporte a instruções não parametrizadas em funções pl/pgsql.

  5. O custo indireto é reduzido quando a extensão apg_plan_mgmt é instalada em vários bancos de dados no mesmo cluster enquanto dois ou mais bancos de dados estão sendo acessados simultaneamente. Além disso, essa versão corrigiu um bug nessa área que fazia com que os planos não fossem armazenados na memória compartilhada.

Melhorias de extensão
  1. Melhorias na função evolve_plan_baselines.

    1. A função evolve_plan_baselines agora calcula uma métrica de cardinality_error sobre todos os nós no plano. Usando essa métrica, é possível identificar qualquer plano em que o erro de estimativa da cardinalidade é grande, e a qualidade do plano é mais duvidosa. Instruções de execução longa com valores altos de cardinality_error são candidatas de alta prioridade para ajuste de consultas.

    2. Os relatórios gerados por evolve_plan_baselines agora incluem sql_hash, plan_hash e o status do plano.

    3. Agora, você pode permitir que evolve_plan_baselines aprovem planos anteriormente Rejected.

    4. O significado de speedup_factor para evolve_plan_baselines agora sempre é relativo ao plano de linha de base. Por exemplo, um valor de 1.1 agora significa 10 por cento mais rápido que o plano de linha de base. Um valor de 0,9 significa 10 por cento mais lento que o plano de linha de base. A comparação é feita usando somente o tempo de execução em vez do tempo total.

    5. A função evolve_plan_baselines agora aquece o cache de uma nova maneira. Ela faz isso executando o plano de linha de base duas vezes e executando o plano candidato uma vez. Anteriormente, evolve_plan_baselines executava o plano candidato duas vezes. Essa abordagem aumentou significativamente o tempo de execução, principalmente para planos candidatos lentos. No entanto, a execução do plano candidato duas vezes é mais confiável quando o plano candidato usa um índice que não é usado no plano de linha de base.

  2. O gerenciamento de planos de consultas não salva mais planos que fazem referência a tabelas ou visualizações do sistema ou a tabelas do próprio gerenciamento de planos de consultas.

  3. As correções de bugs incluem o armazenamento em cache de um plano imediatamente quando salvo e a correção de um bug que fazia com que o backend fosse encerrado.