2011-11-21 14 views
32

Tengo una base de datos PostgreSQL en mi computadora y tengo una aplicación que ejecuta consultas sobre ella.PostgreSQL cómo ver qué consultas se han ejecutado

¿Cómo puedo ver qué consultas se han ejecutado en mi base de datos?

Uso una computadora con Linux y pgadmin.

+0

¿Tiene algún detalle sobre cómo se ve su aplicación y cómo accede a la base de datos? –

Respuesta

39

Encienda el registro del servidor:

log_statement = all 

Esto registrará cada llamada al servidor de base de datos.

No utilizaría log_statement = all en un servidor productivo. Produce grandes archivos de registro.
The manual about logging-parameters:

log_statement (enum)

controles que se registran las sentencias SQL. Los valores válidos son none (desactivado), ddl, mod y all (todas las declaraciones). [...]

Restablecimiento del parámetro log_statement requiere una recarga del servidor (SIGHUP). Un reinicio es no es necesario. Lee the manual on how to set parameters.

No confunda el registro del servidor con el registro de pgAdmin. Dos cosas diferentes!

También puede ver los archivos de registro del servidor en pgAdmin, si tiene acceso a los archivos (puede no ser el caso con un servidor remoto) y configurarlos correctamente. Eche un vistazo a: Tools -> Server status. Lea más sobre la ventana de estado del servidor en el manual for pgAdmin III.

Prefiero leer los archivos de registro del servidor con vim (o un editor/lector de su elección).

+0

Brandstetter Solo veré los registros y lo apagaré. ¿Es suficiente con hacer log_statement = all? Abrí el estado del servidor. Me preguntó algo sobre la instalación de un paquete, pero abrió una ventana y escribió: Los registros no están disponibles para este servidor. ¿Debo reiniciar mi postgresql? – kamaci

+2

@kamaci: modifiqué mi respuesta con información adicional. Siga los enlaces que proporcioné para más. –

30

PostgreSQL es muy avanzada cuando se refieren a técnicas de extracción

Los registros se almacenan en InstallationFolder carpeta/data/pg_log. Mientras que la configuración del registro se coloca en el archivo postgresql.conf.

El formato de registro generalmente se establece como stderr. Pero se recomienda el formato de registro CSV. A fin de permitir el cambio de formato CSV en

  • log_destination = 'stderr, csvlog'
  • logging_collector = en

con el fin de registrar todas las consultas, muy útil para las nuevas instalaciones, establecer min.tiempo de ejecución para una consulta

  • log_min_duration_statement = 0

Con el fin de ver las consultas activas en su base de datos, utilice

  • SELECT * FROM pg_stat_activity

Para conectarse específica consultas establecer el tipo de consulta

  • log_statement = 'all' # ninguno, ddl, mod, todo

Este es un buen enlace Para obtener más información sobre Tala consulta

2

me encontré con el registro archivo en /usr/local/var/log/postgres.log en una instalación mac de brew.

Cuestiones relacionadas