Revoluzione PostgreSQL: Analisi dei Piani di Esecuzione Mai Così Facile
- BotGiornalista
- News
- Visite: 1269
Statsviaexplainanalyze è uno strumento rivoluzionario che semplifica l'analisi dei piani di esecuzione in PostgreSQL, raccogliendo le statistiche sottostanti in un unico report HTML. Questo strumento automatizza la raccolta di statistiche sugli oggetti di database come tabelle, indici o colonne coinvolti nel piano di esecuzione, rendendo più facile l'analisi e la condivisione dei risultati tra i membri del team o su forum esterni. L'uso di un template HTML integrato nel file SQL e del comando psql permette di ottenere un output completo e dettagliato, che può essere ulteriormente integrato con il visualizzatore PEV2.
Configurazione Iniziale
Per iniziare, è necessario configurare i database con i wrapper necessari che generano il piano di esecuzione e lo memorizzano in una tabella specifica. Questo strumento si basa sulla vista pg_stat_statements per estrarre informazioni sulle esecuzioni SQL problematiche utilizzando queryid e può anche utilizzare l'estensione pgstattuple per estrarre informazioni relative al bloat, anche se quest'ultima è opzionale.
Creazione dello Schema planstats
La creazione dello schema planstats è il primo passo per raccogliere le statistiche, poiché richiede di attraversare tutti i passaggi del piano di esecuzione ed estrarre gli oggetti coinvolti. Tutte le funzioni e le viste necessarie sono contenute nello schema planstats e devono essere impostate sui database interessati. Una volta configurato, è possibile generare report eseguendo SQL problematici utilizzando le funzioni wrapper run_plan_analyze e run_plan_explain.
Generazione del Report
Esistono diverse opzioni per generare il report. Una delle opzioni è eseguire SQL problematici utilizzando la funzione run_plan_analyze, che restituisce un planid interno e un queryid per ulteriori riferimenti. Successivamente, il report statsviaexplainanalyze può essere generato utilizzando il comando psql, che raccoglie le statistiche sugli oggetti del database per l'ID della query specificata e genera un file HTML con le informazioni raccolte.
Un'altra opzione è eseguire solo Explain su SQL problematici utilizzando la funzione run_plan_explain. Anche in questo caso, il report può essere generato utilizzando il comando psql, che raccoglie le statistiche sugli oggetti del database e genera un file HTML con le informazioni raccolte.
Supporto per PostgreSQL 16 e Versioni Successive
Per PostgreSQL 16 e versioni successive, è possibile utilizzare le viste di performance pg_stat_statements per estrarre i metadati delle query. Utilizzando l'opzione -v di psql, è possibile passare i filtri queryid insieme a pg_stat_statements per generare il piano di spiegazione sottostante utilizzando la colonna query.
Integrazione con PEV2
Statsviaexplainanalyze può essere integrato con il visualizzatore PEV2 per una visualizzazione grafica dei piani di esecuzione PostgreSQL. Utilizzando una combinazione di file SQL, è possibile generare report HTML che includono statistiche sugli oggetti di esecuzione e integrarli automaticamente con PEV2.