

# Monitorar planos de execução de consultas e pico de memória do Aurora PostgreSQL
<a name="AuroraPostgreSQL.Monitoring.Query.Plans"></a>

É possível monitorar os planos de execução de consultas na instância de banco de dados do Aurora PostgreSQL para detectar os planos de execução que contribuem para a carga atual do banco de dados e monitorar as estatísticas de performance dos planos de execução ao longo do tempo usando o parâmetro `aurora_compute_plan_id`. Sempre que uma consulta é realizada, o plano de execução usado pela consulta recebe um identificador e o mesmo identificador é usado pelas execuções subsequentes do mesmo plano.

O `aurora_compute_plan_id` é `OFF` por padrão no grupo de parâmetros de banco de dados das versões 14.10, 15.5 e posterior do Aurora PostgreSQL. Para atribuir um identificador de plano, defina `aurora_compute_plan_id` como `ON` no grupo de parâmetros.

Esse identificador de plano é usado em vários utilitários que atendem a uma finalidade diferente.

É possível monitorar o pico de uso da memória de consultas na instância de banco de dados para detectar consultas que contribuem para o alto uso de memória do banco de dados nas seguintes versões:
+ 16.3 e todas as versões posteriores
+ 15.7 e versões posteriores
+ 14.12 e versões posteriores

Sempre que uma consulta é executada, o pico de memória usado pela consulta é monitorado. As consultas geralmente são executadas várias vezes; os valores de uso de memória médio, mínimo e máximo em todas as execuções podem ser visualizados para cada consulta.

**Topics**
+ [Acessar planos de execução de consultas e pico de memória usando funções do Aurora](#AuroraPostgreSQL.Monitoring.Query.Plans.Functions)
+ [Referência de parâmetros de planos de execução de consultas do Aurora PostgreSQL](#AuroraPostgreSQL.Monitoring.Query.Plans.Parameters)

## Acessar planos de execução de consultas e pico de memória usando funções do Aurora
<a name="AuroraPostgreSQL.Monitoring.Query.Plans.Functions"></a>

Com `aurora_compute_plan_id`, é possível acessar os planos de execução usando as seguintes funções:
+ aurora\_stat\_activity
+ aurora\_stat\_plans

A memória de pico da consulta não inclui a memória alocada antes do início do processamento da consulta. O pico de uso da memória é monitorado e relatado separadamente para as fases de planejamento e execução de cada consulta.

![Noções básicas sobre o pico de memória de consultas.](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/AuroraUserGuide/images/aurora-apg-peakmemory.png)


É possível acessar as estatísticas de pico de memória de consultas usando as seguintes funções:
+ aurora\_stat\_statements
+ aurora\_stat\_plans

Para ter mais informações sobre essas funções, consulte [Referência de funções do Aurora PostgreSQL](Appendix.AuroraPostgreSQL.Functions.md).

## Referência de parâmetros de planos de execução de consultas do Aurora PostgreSQL
<a name="AuroraPostgreSQL.Monitoring.Query.Plans.Parameters"></a>

É possível monitorar os planos de execução de consultas usando os parâmetros abaixo em um grupo de parâmetros de banco de dados. 

**Topics**
+ [aurora\_compute\_plan\_id](#aurora.compute_plan_id)
+ [aurora\_stat\_plans.minutes\_until\_recapture](#aurora.minutes_until_recapture)
+ [aurora\_stat\_plans.calls\_until\_recapture](#aurora.calls_until_recapture)
+ [aurora\_stat\_plans.with\_costs](#aurora.with_costs)
+ [aurora\_stat\_plans.with\_analyze](#aurora.with_analyze)
+ [aurora\_stat\_plans.with\_timing](#aurora.with_timing)
+ [aurora\_stat\_plans.with\_buffers](#aurora.with_buffers)
+ [aurora\_stat\_plans.with\_wal](#aurora.with_wal)
+ [aurora\_stat\_plans.with\_triggers](#aurora.with_triggers)

**nota**  
A configuração dos parâmetros `aurora_stat_plans.with_*` entra em vigor somente para planos recém-capturados.

### aurora\_compute\_plan\_id
<a name="aurora.compute_plan_id"></a>

O `aurora_compute_plan_id` é um parâmetro de configuração que controla se um identificador de plano é atribuído durante a execução da consulta.



- **desligar**
  - **Valores permitidos:** 0 (desativado) / **Descrição:** Defina como off para evitar que um identificador de plano seja atribuído.
  - **Valores permitidos:** 1 (ativado) / **Descrição:** Defina como on para atribuir um identificador de plano.



### aurora\_stat\_plans.minutes\_until\_recapture
<a name="aurora.minutes_until_recapture"></a>

O número de minutos que faltam antes que um plano seja recapturado. O padrão é 0, o que desabilitará a recaptura de um plano. Quando o limite de `aurora_stat_plans.calls_until_recapture` é ultrapassado, o plano será recuperado.


| Padrão | Valores permitidos | Descrição | 
| --- | --- | --- | 
| 0 | 0-1073741823 | Defina o número de minutos para recuperar um plano. | 

### aurora\_stat\_plans.calls\_until\_recapture
<a name="aurora.calls_until_recapture"></a>

O número de chamadas para um plano antes que ele seja recapturado. O padrão é 0, o que desativará a recaptura de um plano após várias chamadas. Quando o limite de `aurora_stat_plans.minutes_until_recapture` é ultrapassado, o plano será recuperado.


| Padrão | Valores permitidos | Descrição | 
| --- | --- | --- | 
| 0 | 0-1073741823 | Defina o número de chamadas antes que um plano seja recapturado. | 

### aurora\_stat\_plans.with\_costs
<a name="aurora.with_costs"></a>

Captura um plano EXPLAIN com custos estimados. Os valores permitidos são `on` e `off`. O padrão é `on`.



- **ativado**
  - **Valores permitidos:** 0 (desativado) / **Descrição:** Não mostra o custo e as linhas estimados para cada nó do plano.
  - **Valores permitidos:** 1 (ativado) / **Descrição:** Mostra o custo estimado e as linhas para cada nó do plano.



### aurora\_stat\_plans.with\_analyze
<a name="aurora.with_analyze"></a>

Controla o plano EXPLAIN com ANALYZE. Esse modo só é usado na primeira vez em que um plano é capturado. Os valores permitidos são `on` e `off`. O padrão é `off`.



- **desligar**
  - **Valores permitidos:** 0 (desativado) / **Descrição:** Não inclui estatísticas reais de tempo de execução do plano.
  - **Valores permitidos:** 1 (ativado) / **Descrição:** Inclui estatísticas reais de tempo de execução do plano.



### aurora\_stat\_plans.with\_timing
<a name="aurora.with_timing"></a>

O tempo do plano será capturado na explicação quando ANALYZE for usado. O padrão é `on`.



- **ativado**
  - **Valores permitidos:** 0 (desativado) / **Descrição:** Não inclui o tempo real de inicialização e o tempo gasto em cada nó do plano.
  - **Valores permitidos:** 1 (ativado) / **Descrição:** Inclui o tempo real de inicialização e o tempo gasto em cada nó do plano.



### aurora\_stat\_plans.with\_buffers
<a name="aurora.with_buffers"></a>

As estatísticas de uso do buffer do plano será capturado na explicação quando ANALYZE for usado. O padrão é `off`.



- **desligar**
  - **Valores permitidos:** 0 (desativado) / **Descrição:** Não inclui informações sobre o uso do buffer.
  - **Valores permitidos:** 1 (ativado) / **Descrição:** Inclui informações sobre o uso do buffer.



### aurora\_stat\_plans.with\_wal
<a name="aurora.with_wal"></a>

As estatísticas de uso do wal do plano será capturado na explicação quando ANALYZE for usado. O padrão é `off`.



- **desligar**
  - **Valores permitidos:** 0 (desativado) / **Descrição:** Não inclui informações sobre a geração de registros do WAL.
  - **Valores permitidos:** 1 (ativado) / **Descrição:** Inclui informações sobre a geração de registros do WAL.



### aurora\_stat\_plans.with\_triggers
<a name="aurora.with_triggers"></a>

As estatísticas de execução do gatilho do plano serão capturadas na explicação quando `ANALYZE` for usado. O padrão é `off`.



- **desligar**
  - **Valores permitidos:** 0 (desativado) / **Descrição:** Não inclui estatísticas de execução de gatilhos.
  - **Valores permitidos:** 1 (ativado) / **Descrição:** Inclui estatísticas de execução de gatilhos.

