Ícone do site SOLOWEB Tecnologia

Analisando e consultando processos no PostgreSQL

No post de hoje vamos mostrar como analisar e consultar processos no PostgreSQL.

O PostgreSQL é um sistema de gerenciamento de banco de dados relacional do tipo cliente/servidor com arquitetura multiprocesso e executado em um único host.

Precisando melhorar seu servidor de banco de dados PostgreSQL? Ou precisa de uma melhor administração do seu banco de dados? Temos o prazer em ajudar, faça uma cotação agora mesmo soloweb.com.br

Uma coleção de vários processos que gerenciam cooperativamente um cluster de banco de dados é geralmente chamada de ‘servidor PostgreSQL’ e contém os seguintes tipos de processos:

Um exemplo da arquitetura do processo no PostgreSQL.

Vamos agora a algunss comandos uteis no seu banco de dados.

1. Listar o número de conexões ativas no PostgreSQL utilize o comando

select * from pg_stat_activity;

2. Você pode utilizar o comando count() para contar as conexões.

select count(*) from pg_stat_activity;

3. Outra opção de consulta processos

SELECT user, pid, client_addr, query, query_start, NOW() - query_start AS elapsed
FROM pg_stat_activity
WHERE query != '<IDLE>'
-- AND EXTRACT(EPOCH FROM (NOW() - query_start)) > 1
ORDER BY elapsed DESC;

4. Terceira Opção

SELECT pid, age(clock_timestamp(), query_start), usename, query 
FROM pg_stat_activity 
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%' 
ORDER BY query_start desc;

5. Encontrar tempo de processamento de querys longas

SELECT pid, now() - pg_stat_activity.query_start AS duration, query, state
FROM pg_stat_activity
WHERE (now() - pg_stat_activity.query_start) > interval '5 minutes';

6. Cancelamento de querys de execução longa

SELECT pg_cancel_backend(pid);

7. Eliminar o ID do processo / Encerrar consultas travadas

SELECT pg_terminate_backend(pid);
Sair da versão mobile