Ich muss die Anfragen an einen PostgreSQL-Server gesendet sehen. Normalerweise würde ich SQL Server-Profiler verwenden, um diese Aktion in SQL Server-Land durchzuführen, aber ich bin noch zu finden, wie dies in PostgreSQL zu tun. Es scheint einige Pay-for-Tools zu geben, ich hoffe, dass es eine Open-Source-Variante gibt.Gibt es ein PostgreSQL-Äquivalent des SQL Server-Profilers?
Antwort
Sie können die log_statement Konfigurationseinstellung verwenden, um die Liste aller Anfragen an einen Server
https://www.postgresql.org/docs/current/static/runtime-config-logging.html#guc-log-statement
nur festgelegt, dass, und den Protokolldateipfad und Sie werden die Liste haben zu erhalten. Sie können es auch so konfigurieren, dass nur lang laufende Abfragen protokolliert werden.
Sie können diese Abfragen dann ausführen und EXPLAIN ausführen, um herauszufinden, was mit ihnen passiert.
http://www.designmagick.com/article/23/Using-Explain/Using-Explain/page/2
zu Joshua Antwort, Hinzufügen von which queries are currently running einfach mit der folgenden Anweisung jederzeit zu sehen (zB in pgAdminIII Abfrage Fenster):
SELECT datname,procpid,current_query FROM pg_stat_activity;
Beispielausgabe:
datname | procpid | current_query
---------------+---------+---------------
mydatabaseabc | 2587 | <IDLE>
anotherdb | 15726 | SELECT * FROM users WHERE id=123 ;
mydatabaseabc | 15851 | <IDLE>
(3 rows)
Mit meiner Version von PG (9,3) warf, habe ich die folgende Abfrage: SELECT datname, pid, usename, application_name, client_addr, Abfrage FROM pg_stat_activity; pg_stat_activity ist eine Ansicht der DB 'postgresql' – mrmuggles
SELECT client_addr, state_change, Abfrage FROM pg_stat_activity; – Dmitry
Ich entdeckte pgBadger (http://dalibo.github.io/pgbadger/) und es ist ein fantastisches Werkzeug, das mein Leben viele Male rettete. Hier ist ein Beispiel für einen Bericht: http://dalibo.github.io/pgbadger/samplev4.html. Wenn Sie es öffnen und zum 'top' Menü gehen, können Sie die langsamsten Abfragen und die zeitaufwendigen Abfragen sehen. Dann können Sie Details fragen und sehen Sie schöne Grafiken, die Ihnen die Abfragen nach Stunden zeigen, und wenn Sie Detail-Schaltfläche verwenden, können Sie den SQL-Text in einer hübschen Form sehen. So kann ich sehen, dass dieses Werkzeug frei und perfekt ist.
Ziemlich schönes Werkzeug. Ich habe dieses Tutorial verwendet, um es zu installieren, da das offizielle Dokument ziemlich ausführlich ist: https://www.dhis2.org/analysing-postgresql-logs-using-pgbadger – mrmuggles
Nur ein Hinweis, dass das Tool nur für * nix-Systeme ist, was für Windows-Benutzer saugt –
zu Joshuas Hinzufügen und vladr Antwort
Es funktioniert für mich:
öffnen postgresql.conf
Set:
log_statement = 'mod'
log_min_messages = debug2
Öffnen Sie das letzte Protokoll a t Ordner C: \ Programme \ PostgreSQL \ 9.6 \ data \ pg_log \
Die Abfragen werden da sein.
Ich benutze postgresql-9.6.5-1
- 1. Gibt es ein Tool für Refactoring SQL, ein bisschen wie ein ReSharper für SQL
- 2. Warum gibt es ein ESCAPE-Argument des LIKE-Operators?
- 3. Gibt es ein Formularübermittlungsmuster?
- 4. Gibt es ein Speicherleck?
- 5. Gibt es ein Äquivalent zu SHA1() in MS-SQL?
- 6. Gibt es ein Open Source SQL Server DB-Vergleichstool?
- 7. Gibt es ein Stichwort wie "Nur IN" in SQL Server?
- 8. Es gibt ein Problem mit Select in meinem SQL
- 9. Gibt es ein Python-Äquivalent des Unix-Dienstprogramms "Datei"?
- 10. Gibt es ein Python-Äquivalent des Prefuse-Visualisierungs-Toolkits?
- 11. Gibt es ein Kommentarzeichen für die .env-Datei des Vorarbeiters?
- 12. Gibt es ein Scala-Äquivalent des Python-Listen-Entpackers (a.k.a.. "*")?
- 13. Gibt es dafür ein Designmuster?
- 14. Gibt es Anleitungen zum Erlernen der Interpretation des Ausführungsplans einer SQL-Abfrage in SQL Server 2005?
- 15. SQL-Subabfragen - gibt es einen besseren Weg
- 16. Gibt es eine Umkehrung des Haskell $ -Operators?
- 17. Gibt es einen SQL Server Profiler für SQL Server Express?
- 18. Gibt es ein vsVim Benutzerhandbuch?
- 19. Gibt es ein Java-Komprimierungsprogramm
- 20. Gibt es ein OrderedDict-Verständnis?
- 21. Gibt es ein onDocumentChange-Ereignis?
- 22. Gibt es Swing-Komponente mit SQL-Syntax?
- 23. Gibt es einen Ersatz für Transact-SQL
- 24. SQL-Anweisung Gibt es einen Fehler?
- 25. Gibt es eine SQL-Abfrage wie diese?
- 26. Welche Free SQL-Formatierungstools gibt es?
- 27. Gibt es eine SQL-Parameterbindung für Arrays?
- 28. sql genau gleich, gibt es etwas?
- 29. Gibt es zwei Bedeutungen des Wortes Shell?
- 30. Gibt es ein Windows-Äquivalent von EDQUOT?
perfekt, ein tail -f dagegen – BozoJoe