Uma característica poderosa sobre o PostgreSQL é a capacidade de buscar informações em consultas SQL mínimas. Isso porque possui esquemas e tabelas que são bem organizadas e reservadas para informações específicas, incluindo a atividade do servidor de monitoramento.
Este tutorial o levará a várias maneiras de identificar conexões e atividades do servidor usando o servidor. Isso pode ajudá -lo a identificar as conexões, gerenciá -las ou encerrá -las se não forem úteis.
O catálogo do sistema PostgreSQL
Antes de consultarmos o PostgreSQL para conexões ativas no servidor, vamos entender onde acontece essa coleta de informações.
PostgreSQL contém um esquema com tabelas e visualizações preenchidas com informações de metadados sobre outros objetos no servidor. Isso é semelhante à tabela Information_schema em MySQL.
O esquema do catálogo do sistema permite coletar informações sobre o sistema, incluindo processos do sistema, índices, acesso à tabela, método de acesso a dados e muito mais.
Como o catálogo do sistema é enorme e contém cargas e muitas informações, não podemos cobri -lo em um artigo. No entanto, há uma tabela em que estamos interessados: o PG_STAT_ACTIVIDADE.
Esta tabela mostra um log de conexões estabelecidas para o servidor e seus dados correspondentes, banco de dados conectado a, o PID de seu processo equivalente e muito mais.
O PG_STAT_ACTIVIDADE
As informações que podemos reunir na tabela PG_STAT_ACTIVIDADE incluem o seguinte
Com essas informações, agora podemos consultar informações detalhadas sobre conexões ativas no servidor.
Como consultar conexões ativas
Para consultar conexões ativas, começamos fazendo login no servidor. Se você estiver usando a instalação padrão do PostGresql, use o PSQL com seu nome de usuário e senha como
PSQL -U PostGres -wDigite “ajuda” para obter ajuda.
Vamos começar reunindo todas as informações da tabela PG_STAT_ACTIVIDADE. Use a consulta como mostrado abaixo
Selecione * de PG_STAT_ACTIVIDADE;Depois de executar a consulta acima, o PostgreSQL despejará muitas informações sobre você, a maioria das quais você pode não precisar. Para resolver isso, podemos selecionar colunas específicas, como mostrado na consulta abaixo:
Selecione DatName como Database_Name,Isso selecionará apenas as informações necessárias e as organizará de maneira tabular, como mostrado na captura de tela.
Finalmente, podemos filtrar onde o status não é igual a ativo para reunir apenas as conexões ativas.
A consulta para isso é:
Selecione DatName como Database_Name,Isso mostrará uma saída semelhante à mostrada abaixo:
Finalmente, uma maneira simples de obter informações semelhantes é usar pgadmin. O PGADMIN é uma poderosa ferramenta de administração da GUI para o banco de dados PostgreSQL.
Depois de fazer login no pgadmin, navegue até o painel e vá para Server_Activity. Atualize para mostrar todas as conexões.
Conclusão
Este guia analisou como consultar atividades de conexão do PostgreSQL usando PG_STAT_ACTIVIDE TABLE E PGADMIN.