PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie erhalte ich einen Ausführungsplan für eine laufende Abfrage in Postgresql?

Warten Sie, ich habe es funktioniert. In postgresql.conf gibt es ZWEI Einstellungen zum Vorladen von Bibliotheken. Die erste, shared_preload_libraries, funktioniert nicht ohne Neustart. ABER die andere session_preload_libraries WIRD. Bearbeiten Sie also die postgresql.conf, um diese Zeile darin zu haben:

session_preload_libraries = 'auto_explain'

Dann neu laden:

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

Ändern Sie dann die Datenbank, um sie einzuschalten:

alter database smarlowe set auto_explain.log_min_duration=1;

Und dann erhalten alle neuen Verbindungen automatisch_erklärte Pläne.

Ändern Sie die Dauer auf die Millisekundeneinstellung, die für Sie am sinnvollsten ist.