Necesito ver las consultas enviadas a un servidor PostgreSQL. Normalmente usaría el perfil de SQL Server para realizar esta acción en el servidor SQL, pero todavía no he encontrado cómo hacerlo en PostgreSQL. Parece haber bastantes herramientas de pago, estoy esperando que haya una variante de código abierto.¿Existe un equivalente PostgreSQL del perfilador de SQL Server?
Respuesta
Usted puede utilizar el ajuste log_statement config para obtener la lista de todas las consultas a un servidor
https://www.postgresql.org/docs/current/static/runtime-config-logging.html#guc-log-statement
Sólo hay que establecer eso, y la ruta del archivo de registro y usted tendrá la lista. También puede configurarlo para que solo registre consultas de larga ejecución.
A continuación, puede realizar esas consultas y ejecutar EXPLAIN en ellas para averiguar qué está pasando con ellas.
http://www.designmagick.com/article/23/Using-Explain/Using-Explain/page/2
Agregando a la respuesta de Josué, para ver which queries are currently running simplemente emitir la siguiente declaración en cualquier momento (por ejemplo, en la ventana de consulta de pgAdminIII):
SELECT datname,procpid,current_query FROM pg_stat_activity;
Muestra de salida:
datname | procpid | current_query
---------------+---------+---------------
mydatabaseabc | 2587 | <IDLE>
anotherdb | 15726 | SELECT * FROM users WHERE id=123 ;
mydatabaseabc | 15851 | <IDLE>
(3 rows)
Con mi versión de PG (9,3), que utilizó la siguiente consulta: SELECT datname, pid, usename, application_name, client_addr, consulta FROM pg_stat_activity; pg_stat_activity es una vista de la base de datos 'postgresql' – mrmuggles
SELECCIONAR client_addr, state_change, query FROM pg_stat_activity; – Dmitry
Descubrí pgBadger (http://dalibo.github.io/pgbadger/) y es una herramienta fantástica que me salvó la vida muchas veces. Aquí hay un ejemplo de informe: http://dalibo.github.io/pgbadger/samplev4.html. Si lo abre y va al menú 'superior', puede ver las consultas más lentas y las consultas más lentas. Luego puede preguntar detalles y ver buenos gráficos que muestran las consultas por hora y si usa el botón de detalle puede ver el texto SQL en una forma bonita. Entonces puedo ver que esta herramienta es gratuita y perfecta.
Herramienta bastante agradable. Utilicé este tutorial para instalarlo, ya que el documento oficial es bastante detallado: https://www.dhis2.org/analysing-postgresql-logs-using-pgbadger – mrmuggles
Solo una nota, que la herramienta es solo para sistemas * nix, que apesta para los usuarios de Windows –
Agregando a Joshua y la respuesta de vladr
funciona para mí:
postgresql.conf abierto
Set:
log_statement = 'mod'
log_min_messages = debug2
Abra el último registro a t carpeta C: \ Archivos de programa \ PostgreSQL \ 9.6 \ data \ pg_log \
Las consultas estarán allí.
utilizo postgresql-9.6.5-1
- 1. ¿Existe un equivalente PostgreSQL de SELECT @@ ROWCOUNT en T-SQL?
- 2. ¿Existe un Oracle equivalente a OUTPUT INSERTED de SQL Server. *?
- 3. ¿Qué es el equivalente de PostgreSQL a SQL Server NVARCHAR?
- 4. SQL Server OFFSET equivalente
- 5. PostgreSQL o MS SQL Server?
- 6. Hashset equivalente en SQL Server
- 7. Equivalente de Debug.Assert para SQL Server
- 8. ¿equivalente StyleCop para SQL Server?
- 9. Scripts SQL: ¿existe el equivalente de #define?
- 10. DB2 vs PostgreSQL vs SQL Server
- 11. ¿Existe un equivalente de Redgate SQL Compare para bases de datos MySQL?
- 12. SQL Server: cualquier equivalente de strpos()?
- 13. SQL Server equivalente a EXPLAIN de MySQL
- 14. ¿Equivalente a LIMIT y OFFSET para SQL Server?
- 15. SQL de PostgreSQL distinta de()
- 16. Oracle equivalente a SQL Server DATEPART
- 17. Oracle equivalente a SQL Server/Sybase DateDiff
- 18. SQL Server identificador único equivalente en C#
- 19. GIS: PostGIS/PostgreSQL vs. MySql vs. SQL Server?
- 20. SQL Server SI NO EXISTE ¿Uso?
- 21. SQL Server 2008 Express CONCAT() no existe?
- 22. Un cursor con el nombre ya existe ... - SQL Server 2008
- 23. SQL Server Agent Job - ¿Existe entonces Drop?
- 24. Postgresql GROUP_CONCAT equivalente?
- 25. SQL Server - Cómo encontrar si existe un índice agrupado
- 26. Analizador de SQL Server - Vista Dynamic Sql
- 27. Cuál es el equivalente de PostgreSQL para ISNULL()
- 28. Equivalente de PostgreSQL de SQLServer NoLock Sugerencia
- 29. Descarga del Administrador corporativo de SQL Server? (¿O equivalente a Windows 7?)
- 30. SQL Server equivalente al tipo de datos enum de MySQL?
perfecta, arrojó una cola -f contra ella – BozoJoe