ver tabla procesos postgres pg_stat_activity nube instancia desbloquear crear configurar comandos aws postgresql postgresql-8.4

tabla - postgresql en la nube



Cómo obtener el estado de una consulta en ejecución en la base de datos postgresql (4)

Basado en la respuesta de @Anshu que estoy usando:

SELECT datname, pid, state, query, age(clock_timestamp(), query_start) AS age FROM pg_stat_activity WHERE state <> ''idle'' AND query NOT LIKE ''% FROM pg_stat_activity %'' ORDER BY age;

Tengo una consulta de selección muy larga. ¿Cómo obtendré un estado de esa consulta, como por cuánto tiempo estará funcionando? Si está accediendo a un dato de las tablas o no.

Nota: Según pg_stat_activity la consulta se está ejecutando como activa. No en estado de espera. Al igual que en Oracle, podemos ver el origen / destino y el estado actual de una consulta, ¿hay algo como esto en postgresql?


Cuando stats_command_string está habilitado, la tabla pg_stat_activity contiene todas las cadenas de consulta activas actualmente. La consulta más simple mostrará todas las cadenas de consulta actuales junto con la base de datos a la que hacen referencia y el ID de proceso (PID) del proceso que atiende esa consulta.

SELECT datname,pid,state,query FROM pg_stat_activity

Ejemplo:

database1=# SELECT datname,procpid,current_query FROM pg_stat_activity ORDER BY procpid ; datname | procpid | current_query ---------------+---------+--------------- mydatabaseabc | 2587 | <IDLE> anotherdb | 15726 | SELECT * FROM users WHERE id=123 ; mydatabaseabc | 15851 | <IDLE> (3 rows)

Cada fila de pg_stat_activity representa un proceso PostgreSQL (PostgreSQL usa un proceso de servidor por conexión).

Cualquier proceso que no esté realizando ninguna consulta mostrará <IDLE> como current_query.

Marque this para referencia


Esto no se puede hacer todavía, pero está en el TODO .


Podemos encontrar el registro de consultas con respecto a la base de datos en postgres.

select * from pg_stat_activity where datname = ''yourdatabasename''

Esto dará registro de consulta activa de la base de datos.