sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Es posible obtener un historial de consultas realizadas en postgres?

No hay historial en la base de datos en sí, si está usando psql puede usar "\s" para ver su historial de comandos allí.

Puede obtener consultas futuras u otros tipos de operaciones en los archivos de registro configurando log_statement en el archivo postgresql.conf. Lo que probablemente desee en su lugar es log_min_duration_statement , que si lo establece en 0 registrará todas las consultas y sus duraciones en los registros. Eso puede ser útil una vez que sus aplicaciones entren en funcionamiento, si establece un valor más alto, solo verá las consultas de ejecución prolongada que pueden ser útiles para la optimización (puede ejecutar EXPLAIN ANALYZE en las consultas que encuentre allí para averiguar por qué eres lento).

Otra cosa útil que debe saber en esta área es que si ejecuta psql y le dice "\timing", mostrará cuánto tiempo toma cada declaración posterior. Entonces, si tiene un archivo sql que se ve así:

\timing
select 1;

Puede ejecutarlo con las banderas correctas y ver cada declaración intercalada con el tiempo que tomó. Así es como se ve el resultado y cómo se ve:

$ psql -ef test.sql 
Timing is on.
select 1;
 ?column? 
----------
        1
(1 row)

Time: 1.196 ms

Esto es útil porque no necesita ser superusuario de la base de datos para usarlo, a diferencia de cambiar el archivo de configuración, y es más fácil de usar si está desarrollando código nuevo y desea probarlo.