2013-07-01 5 views
3

J'ai besoin d'analyser les requêtes Postgres générées par une application web. Cependant, la journalisation côté serveur n'est pas activée, et comme c'est une base de données utilisée par de nombreux autres développeurs, je n'ai pas la permission de l'activer. Pour ceux qui sont familiers avec MSSQL, un outil comme SQL Profiler serait idéal, mais mes recherches n'ont rien trouvé de similaire pour Postgres. Je me contenterais certainement de quelque chose qui crée un fichier journal que je peux examiner.Postgres Logging côté client

Est-ce que quelqu'un connaît un moyen de faire cela qui n'implique pas le débogage direct de l'application Web?

Merci d'avance! -Steve

PS Non Windows outils/solutions s'il vous plaît, je suis sous Linux et Mac OSX.

+4

Vérifiez les capacités de journalisation du pilote que vous utilisez (JDBC, ODBC, ...). Vous pouvez aussi regarder dans le module [pg_stat_statements] (http://www.postgresql.org/docs/current/static/pgstatstatements.html) (bien que ce soit également côté serveur) –

+1

Vous pouvez configurer une sorte de proxy entre votre application et Postgres, cela enregistrera tout le SQL avant de le passer à DB. –

+0

http://wiki.postgresql.org/wiki/Statement_Playback –

Répondre

1

Si vous avez accès dans le système super-utilisateur de base de données, vous pouvez exécuter

SET log_statements = all; 
SET client_min_messages = log; 

et consultez le journal des états du côté client.