PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come ottenere un piano di esecuzione per una query in esecuzione in postgresql?

Aspetta, ho funzionato. In postgresql.conf ci sono DUE impostazioni per il precaricamento delle librerie. Il primo, shared_preload_libraries, non funzionerà senza un riavvio. MA l'altra session_preload_libraries LO SARÀ. Quindi, modifica il postgresql.conf per avere questa riga in esso:

session_preload_libraries = 'auto_explain'

Quindi ricarica:

pg_ctl reload (or pg_ctlcluster 9.x main reload etc)

Quindi modifica il database per attivarlo:

alter database smarlowe set auto_explain.log_min_duration=1;

E poi tutte le nuove connessioni ottengono piani auto_spiegati.

Modifica la durata con l'impostazione in millisecondi più adatta a te.