Documentazione di riferimento dei parametri per la gestione del piano di query Aurora PostgreSQL - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Documentazione di riferimento dei parametri per la gestione del piano di query Aurora PostgreSQL

È possibile impostare le preferenze per l’estensione apg_plan_mgmt utilizzando i parametri elencati in questa sezione. Questi sono disponibili nel parametro del cluster database personalizzato e nel gruppo di parametri DB associato al cluster database Aurora PostgreSQL. Questi parametri controllano il comportamento della funzionalità di gestione del piano di query e in che modo influenza l'ottimizzatore. Per informazioni su come impostare la gestione del piano di query, consulta Attivazione della gestione del piano di query per Aurora PostgreSQL. La modifica dei seguenti parametri non ha effetto se l’estensione apg_plan_mgmt non è impostata come descritto in tale sezione. Per informazioni sulla modifica dei parametri, consulta Modifica di parametri in un gruppo di parametri cluster database e Utilizzo di gruppi di parametri DB in un'istanza DB.

apg_plan_mgmt.capture_plan_baselines

Acquisisce i piani di esecuzione delle query generati dall'ottimizzatore per ogni istruzione SQL e li memorizza nella vista dba_plans. Per impostazione predefinita, il numero massimo di piani che è possibile memorizzare è 10.000, come specificato dal parametro apg_plan_mgmt.max_plans. Per informazioni di riferimento, consulta apg_plan_mgmt.max_plans.

Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato. La modifica del valore di questo parametro non richiede un riavvio.

Default Valori consentiti Descrizione
off automatic Attiva l'acquisizione del piano per tutti i database sull'istanza database. Raccoglie un piano per ogni istruzione SQL che viene eseguita due o più volte. Utilizzare questa impostazione per carichi di lavoro di grandi dimensioni o in evoluzione per fornire stabilità del piano.
manual Attiva l'acquisizione dei piani solo per istruzioni successive, fino a quando non viene nuovamente disattivato. L'utilizzo di questa impostazione consente di acquisire i piani di esecuzione delle query solo per istruzioni SQL critiche specifiche o per query problematiche conosciute.
off Disattiva l'acquisizione del piano.

Per ulteriori informazioni, consulta Acquisizione dei piani di esecuzione Aurora PostgreSQL.

apg_plan_mgmt.plan_capture_threshold

Specifica una soglia in modo che se il costo totale del piano di esecuzione delle query è inferiore alla soglia, il piano non venga acquisito nella vista apg_plan_mgmt.dba_plans.

La modifica del valore di questo parametro non richiede un riavvio.

Default Valori consentiti Descrizione
0 0 - 1.79769e+308

Imposta la soglia del costo totale di esecuzione del piano di query apg_plan_mgmt per l'acquisizione dei piani.

Per ulteriori informazioni, consulta Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.

apg_plan_mgmt.explain_hashes

Specifica se EXPLAIN [ANALYZE] mostra sql_hash e plan_hash alla fine del relativo output. La modifica del valore di questo parametro non richiede un riavvio.

Default Valori consentiti Descrizione
0 0 (off) EXPLAIN non mostra sql_hash e plan_hash senza l'opzione true degli hash.
1 (on) EXPLAIN mostra l'opzione sql_hash e plan_hash senza l'opzione true degli hash.

apg_plan_mgmt.log_plan_enforcement_result

Specifica se i risultati devono essere registrati per verificare se i piani gestiti dalla funzionalità di gestione dei piani di query vengono utilizzati correttamente. Quando viene utilizzato un piano generico archiviato, non verrà scritto alcun record nei file di log. La modifica del valore di questo parametro non richiede un riavvio.

Default Valori consentiti Descrizione
nessuno nessuno Non mostra alcun risultato dell'applicazione del piano nei file di log.
on_error Mostra i risultati dell'applicazione del piano nei file di log solo quando la funzionalità di gestione dei piani di query non utilizza i piani gestiti.
tutto Mostra tutti i risultati dell'applicazione del piano nei file di log, incluse le operazioni riuscite e non riuscite.

apg_plan_mgmt.max_databases

Specifica il numero massimo di database sull'istanza di scrittura del cluster database Aurora PostgreSQL che possono utilizzare la gestione del piano di query. L'impostazione predefinita è 10 database. Se sull'istanza sono presenti più di 10 database, il valore dell'impostazione può essere modificato. Per scoprire quanti database sono presenti in una determinata istanza, connettersi all'istanza utilizzando psql. Quindi, utilizzare il metacomando psql, \l, per elencare i database.

La modifica del valore di questo parametro richiede il riavvio dell'istanza affinché l'impostazione diventi effettiva.

Default Valori consentiti Descrizione
10 10-2147483647 Numero massimo di database che possono utilizzare la gestione del piano di query sull’istanza.

Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato.

apg_plan_mgmt.max_plans

Imposta il numero massimo di istruzioni SQL che il gestore del piano di query può mantenere nella visualizzazione apg_plan_mgmt.dba_plans. Si consiglia di impostare questo parametro su 10000 o superiore per tutte le versioni di Aurora PostgreSQL.

Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato. La modifica del valore di questo parametro richiede il riavvio dell'istanza affinché l'impostazione diventi effettiva.

Default Valori consentiti Descrizione
10000 10-2147483647

Numero massimo di piani che possono essere archiviati nella vista apg_plan_mgmt.dba_plans.

Il valore predefinito per Aurora PostgreSQL versione 10 e versioni precedenti è 1000.

Per ulteriori informazioni, consulta Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.

apg_plan_mgmt.plan_hash_version

Specifica i casi d'uso che il calcolo plan_hash è progettato per coprire. Una versione superiore di apg_plan_mgmt.plan_hash_version copre tutte le funzionalità della versione inferiore. Ad esempio, la versione 3 copre i casi d'uso supportati dalla versione 2.

La modifica del valore di questo parametro deve essere seguita da una chiamata a apg_plan_mgmt.validate_plans('update_plan_hash'). Aggiorna i valori plan_hash in ogni database con apg_plan_mgmt installato e le voci nella tabella dei piani. Per ulteriori informazioni, consulta Convalida dei piani

Default Valori consentiti Descrizione
1 1 Calcolo di plan_hash predefinito.
2 Calcolo di plan_hash modificato per il supporto di più schemi.
3 Calcolo di plan_hash modificato per il supporto di più schemi e delle tabelle partizionate.
4 plan_hash calculation modificato per gli operatori paralleli e per supportare i nodi di materializzazione.

apg_plan_mgmt.plan_retention_period

Specifica il numero di giorni per cui si desidera mantenere i piani nella vista apg_plan_mgmt.dba_plans prima che vengano eliminati automaticamente. Per impostazione predefinita, un piano viene eliminato quando sono trascorsi 32 giorni dall'ultimo utilizzo del piano (la colonna last_used nella vista apg_plan_mgmt.dba_plans). Questa impostazione può essere modificata in un numero qualsiasi, 1 e valori superiori.

La modifica del valore di questo parametro richiede il riavvio dell'istanza affinché l'impostazione diventi effettiva.

Default Valori consentiti Descrizione
32 1-2147483647 Numero massimo di giorni dall'ultimo utilizzo di un piano prima che venga eliminato.

Per ulteriori informazioni, consulta Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.

apg_plan_mgmt.unapproved_plan_execution_threshold

Specifica una soglia di costo al di sotto della quale un piano non approvato può essere utilizzato dall'ottimizzatore. La soglia è 0 per impostazione predefinita, in modo che l'ottimizzatore non esegua piani non approvati. L'impostazione di questo parametro su una soglia di costo estremamente bassa, ad esempio 100, evita il sovraccarico di applicazione del piano nei piani banali. È inoltre possibile impostare questo parametro su un valore estremamente elevato, ad esempio 10000000, utilizzando lo stile reattivo di gestione del piano. Ciò consente all'ottimizzatore di utilizzare tutti i piani scelti senza generare sovraccarichi dovuti all'applicazione del piano. Tuttavia, quando viene trovato un piano errato, è possibile contrassegnarlo manualmente come "rejected" in modo che non venga utilizzato la volta successiva.

Il valore di questo parametro rappresenta una stima dei costi per l'esecuzione di un determinato piano. Se il costo di un piano non approvato è inferiore a tale costo stimato, verrà utilizzato dall'ottimizzatore per l'istruzione SQL. I piani acquisiti e il relativo stato (Approvato, Non approvato) sono visibili nella vista dba_plans. Per ulteriori informazioni, vedi Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.

La modifica del valore di questo parametro non richiede un riavvio.

Default Valori consentiti Descrizione
0 0-2147483647 Costo del piano stimato al di sotto del quale viene utilizzato un piano non approvato.

Per ulteriori informazioni, consulta Utilizzo dei piani gestiti per Aurora PostgreSQL.

apg_plan_mgmt.use_plan_baselines

Specifica che l'ottimizzatore deve utilizzare uno dei piani approvati acquisiti e archiviati nella vista apg_plan_mgmt.dba_plans. Per impostazione predefinita, questo parametro è disattivato (false). Di conseguenza, l'ottimizzatore utilizzerà il piano a costo minimo che genera senza un'ulteriore valutazione. L'attivazione di questo parametro (impostandolo su true) obbliga l'ottimizzatore a scegliere un piano di esecuzione della query per l'istruzione dalla sua baseline del piano. Per ulteriori informazioni, consulta Utilizzo dei piani gestiti per Aurora PostgreSQL. Per trovare un'immagine che descrive questo processo, consulta In che modo l'ottimizzatore sceglie quale piano eseguire..

Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato. La modifica del valore di questo parametro non richiede un riavvio.

Default Valori consentiti Descrizione
false true Utilizzare un piano Approvato, Preferito o Non approvato del parametro apg_plan_mgmt.dba_plans. Se nessuno di questi soddisfa tutti i criteri di valutazione dell'ottimizzatore, è possibile utilizzare il piano a costo minimo generato. Per ulteriori informazioni, consulta In che modo l'ottimizzatore sceglie quale piano eseguire..
false Utilizzare il piano a costo minimo generato dall'ottimizzatore.

I tempi di risposta dei diversi piani acquisiti possono essere valutati e lo stato del piano modificato, in base alle esigenze. Per ulteriori informazioni, consulta Gestione dei piani di esecuzione di Aurora PostgreSQL.

auto_explain.hashes

Specifica se l'output di auto_explain mostra sql_hash e plan_hash. La modifica del valore di questo parametro non richiede un riavvio.

Default Valori consentiti Descrizione
0(off) 0(off) Il risultato auto_explain non mostra sql_hashplan_hash.
1(on) Il risultato auto_explain mostra sql_hashplan_hash.