Postgres: come posso visualizzare tutte le istruzioni SQL eseguite dal server di database?

Sono in fase di revisione di each istruzione SQL che un'applicazione fa contro il database, per motivi di performance. C'è un modo semplice per registrare tutte le istruzioni eseguite dal server di database PostgreSQL? Grazie.

  • Come bilanciare il carico di SQL Server 2008 per le applicazioni ASP.NET ad alto utilizzo?
  • password dimenticate per gli utenti postgresql. come faccio ad accedere?
  • Come impostare la password utente postgresql nello script bash
  • psycopg2 non trovato da django dopo l'installazione in virtualenv
  • SQL Server Developer Edition rispetto a SQL Server Standard
  • come spostare / configurare il database Mysql in un'altra partizione?
  • 3 Solutions collect form web for “Postgres: come posso visualizzare tutte le istruzioni SQL eseguite dal server di database?”

    L'opzione di configuration che stai cercando è log_statement = "all" (se si desidera solo le istruzioni), o log_min_statement_duration = <some number> se si è appena dopo le query "lente" (per un certo valore di "lento"). Vedere http://www.postgresql.org/docs/current/static/runtime-config-logging.html per ulteriori dettagli sulla configuration della logging.

    Naturalmente, è ansible rilevare le query più lente da soli, ma vi consiglio di utilizzare pgFouine – un analizzatore di registro PostgreSQL. E 'facile da installare e davvero utile.

    Rapporti di esempio: qui e qui .

    Il module auto_explain è molto utile per questo. Non solo registrerà le istruzioni, registrerà i piani di esecuzione e può anche registrare istruzioni eseguite in PL / PgSQL. Il colpo di performance è abbastanza basso a less che non abiliti l'analisi, nel qual caso dovresti presentare un po 'di tempo di sovraccarico per tutte le query.

    Vedere auto_explain nella documentazione.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.