Bases de dados
    Atualizado maio de 2026
    PostgreSQL logo

    PostgreSQL Monitorização

    Monitorize as transações, ligações, replicação e desempenho do vacuum do PostgreSQL em tempo real, sem necessidade de configuração.

    Por que monitorizar PostgreSQL?

    O PostgreSQL é a base de dados relacional de código aberto mais avançada do mundo, sendo uma escolha de confiança para cargas de trabalho críticas, desde sistemas financeiros a aplicações geoespaciais. A monitorização do PostgreSQL é essencial para detetar consultas de longa duração, evitar a saturação das ligações, acompanhar o estado da replicação e otimizar as operações de vacuum. A integração do PostgreSQL com o Xitoring proporciona uma observabilidade abrangente da base de dados.

    Deteção automática via Xitogent — sem configuração manual necessária
    Métricas de throughput de transações e consultas em tempo real
    Acompanhamento da utilização do pool de ligações e de ligações inativas
    Monitorização do lag de replicação streaming e do estado do WAL
    Acompanhamento do desempenho de vacuum e autovacuum
    Monitorização de dead tuples e bloat de tabelas
    Funciona em servidores Linux e Windows
    Intervalos de recolha de métricas de 1 minuto
    O que é a monitorização do PostgreSQL?

    Monitorização do PostgreSQL, explicada

    A monitorização do PostgreSQL deteta deriva de replicação, autovacuum descontrolado, tabelas inchadas e sessões idle-in-transaction antes que se transformem em indisponibilidades ou corrupção de dados. Para qualquer workload Postgres — RDS, Aurora, CloudNativePG, clusters Patroni self-hosted — a visibilidade por base de dados é a diferença entre detetar uma fuga de ligações em 60 segundos e ficar a saber dela por um ticket de cliente. O Xitoring descobre automaticamente o seu Postgres, consulta as views nativas pg_stat_* com o role pg_monitor e encaminha alertas para Slack, PagerDuty, Telegram ou a sua rotação de on-call existente.

    Métricas

    O que monitorizamos

    Ligações ativas

    Número de ligações atualmente ativas para o servidor PostgreSQL.

    Transações por segundo

    Taxa de transações commited e rolled-back.

    Operações sobre tuples

    Taxa de tuples inseridos, atualizados, eliminados e obtidos em todas as bases de dados.

    Tuplas mortas

    Número de dead tuples à espera de vacuum, indicando potencial bloat de tabelas.

    Rácio de cache hit

    Percentagem de pedidos de dados servidos a partir de shared buffers sem acesso ao disco.

    Lag de replicação

    Bytes ou segundos de atraso face ao primary na replicação streaming.

    Taxa de geração de WAL

    Taxa de dados Write-Ahead Log gerados.

    Esperas de locks

    Número de consultas à espera de adquirir locks em objetos da base de dados.

    Ficheiros temporários criados

    Número e tamanho de ficheiros temporários criados para o processamento de consultas.

    Tamanho da base de dados

    Espaço em disco total usado por cada base de dados incluindo índices.

    Inativo dentro de transação

    Ligações inativas dentro de uma transação aberta, potencialmente a manter locks.

    Pontos de controlo

    Frequência e duração das operações de checkpoint.

    Alerta e notificação

    Configurável condições de alerta

    Configure alertas personalizados no seu painel para ser notificado assim que as métricas dPostgreSQL ultrapassarem os limites que definiu.

    PostgreSQL painel de controlo da configuração dos gatilhos de monitorização

    Ligações ativas

    crítico

    Dispara quando as ligações ativas se aproximam de max_connections, arriscando recusa de novas ligações e erros aplicacionais.

    Lag de replicação

    crítico

    Dispara quando a replicação streaming fica para trás, arriscando inconsistência de dados entre primary e replicas.

    Tuplas mortas

    aviso

    Alerta quando a contagem de dead tuples cresce acima do limite, indicando que o vacuum está atrasado e o bloat de tabelas aumenta.

    Rácio de cache hit

    aviso

    Dispara quando o rácio de cache hit cai abaixo do limite, indicando E/S de disco excessiva e potencial pressão de memória.

    Esperas de locks

    aviso

    Dispara quando consultas estão bloqueadas à espera de locks, indicando contenção que degrada o desempenho.

    Queda da taxa de transações

    crítico

    Alerta quando o throughput de transações cai significativamente, indicando potencial bloqueio ou problema de desempenho.

    01

    Importância da monitorização do PostgreSQL

    O PostgreSQL lida com dados de missão crítica para empresas em todo o mundo. Sem monitorização adequada, bloat de tabelas, drift de replicação e esgotamento de ligações podem levar a corrupção de dados, indisponibilidade e falhas irrecuperáveis.

    • Detete cedo consultas longas e contenção de locks
    • Evite o bloat de tabelas com acompanhamento do desempenho de vacuum
    • Monitorize a replicação streaming para a consistência dos dados
    • Identifique fugas de ligação antes do esgotamento do pool
    • Acompanhe a geração de WAL para o planeamento de capacidade de armazenamento
    Dashboard de monitorização PostgreSQL com métricas de transações
    Cronologia de alertas de desempenho de base de dados
    02

    Porquê escolher Xitoring

    O Xitoring oferece monitorização PostgreSQL de nível empresarial com configuração zero-config. O nosso agente leve deteta automaticamente as suas instâncias PostgreSQL, começa a recolher métricas em menos de 60 segundos e integra-se com os seus canais de notificação existentes.

    • Instalação num único comando — sem YAML complexo nem ficheiros de configuração
    • Mais de 15 nós de monitorização globais para verificações de baixa latência
    • Dashboard unificado para servidores, bases de dados e uptime
    • Alertas flexíveis via Slack, PagerDuty, Telegram e outros
    • Retenção de dados históricos para planeamento de capacidade e auditorias
    Visão geral multi-base de dados do Xitoring
    Canais de notificação e configuração de alertas
    Casos de uso

    Cenários comuns de monitorização do PostgreSQL

    Onde o PostgreSQL normalmente corre hoje — e o que pode correr mal se ninguém estiver a monitorizar.

    Base de dados na cloud gerida (AWS, Azure, Google)

    Os fornecedores de cloud tratam dos backups e das atualizações, mas não lhe dizem quando as suas próprias queries estão lentas, as suas ligações estão a esgotar-se, ou uma cópia de segurança está silenciosamente a ficar para trás da ativa. Detetamos os problemas que o fornecedor deixa para si, para que uma interrupção não apanhe a equipa desprevenida.

    Base de dados auto-alojada com failover automático

    Se a base de dados principal falhar, uma cópia de segurança deve assumir em segundos. Mas um backup que está silenciosamente a ficar para trás pode transformar essa transição numa interrupção de 30 segundos — ou pior, perda de dados. Monitorizamos cada cópia para que saiba que está realmente pronta para assumir antes que precise dela.

    Base de dados a correr dentro do Kubernetes

    As bases de dados no Kubernetes são movidas, reiniciadas e atualizadas pela plataforma automaticamente. Na maioria das vezes é seguro — quando não é, geralmente descobre através de utilizadores frustrados. Detetamos os sinais de aviso precoces para que a equipa possa intervir antes que uma atualização de rotina se torne um incidente.

    Antes de começar

    Pré-requisitos para PostgreSQL

    Certifique-se de que tem tudo isto pronto — depois disso, a maioria das instalações leva 60 segundos.

    • PostgreSQL 12 ou mais recente (testado com 12-16) em execução no servidor
    • Um utilizador com o papel pg_monitor e SELECT em pg_stat_database
    • Opcional: extensão pg_stat_statements carregada para métricas ao nível da query
    Guia de configuração

    Comece a minutos

    1

    Instalar o Xitogent no seu servidor

    Se ainda não o fez, instale o leve agente de monitorização Xitogent no seu servidor.

    curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEY
    2

    Criar um utilizador de monitorização no PostgreSQL

    Crie um utilizador dedicado só de leitura para que o Xitogent recolha as métricas:

    CREATE USER xitoring WITH PASSWORD 'your_secure_password'; GRANT pg_monitor TO xitoring; GRANT SELECT ON pg_stat_database TO xitoring;
    3

    Ativar a integração do PostgreSQL

    Use o painel do Xitoring ou a CLI para ativar a integração do PostgreSQL com as credenciais de monitorização.

    sudo xitogent integrate
    4

    Configurar limiares de alerta (opcional)

    Defina limiares personalizados para métricas como atraso de replicação, dead tuples ou número de ligações para ser notificado quando algo merecer atenção.

    5

    Confirme que está a funcionar

    Execute este comando no servidor para confirmar que o Xitogent detetou a integração. Em cerca de 30 segundos começam a chegar novas métricas ao seu painel.

    sudo xitogent status

    Frequentemente perguntas feitas

    De que permissões necessita o utilizador responsável pela monitorização?
    O utilizador de monitorização necessita da função pg_monitor, que concede acesso apenas de leitura às estatísticas do servidor e às vistas de desempenho. Não é necessário acesso de escrita.
    Esta integração afetará o desempenho do PostgreSQL?
    Não. O Xitogent utiliza consultas leves e de leitura única nas vistas de estatísticas integradas do PostgreSQL. A sobrecarga de monitorização é insignificante.
    É possível monitorizar a replicação do PostgreSQL?
    Sim. A integração monitoriza o atraso na replicação em streaming, o estado do WAL e o estado das réplicas. Será alertado imediatamente caso as réplicas fiquem desatualizadas.
    Isto funciona com o PostgreSQL gerido (RDS, Cloud SQL)?
    A integração foi concebida para instâncias do PostgreSQL auto-hospedadas nas quais o Xitogent esteja instalado. Para bases de dados geridas na nuvem, consulte as nossas funcionalidades de monitorização por API.
    Quais são as versões do PostgreSQL suportadas?
    Xitoring é compatível com o PostgreSQL 10 e versões posteriores, incluindo a versão mais recente, o PostgreSQL 16.
    Com que frequência são recolhidos os indicadores?
    Por predefinição, as métricas são recolhidas a intervalos de 1 minuto. Esta configuração pode ser ajustada através do painel de controlo do Xitoring ou da CLI.
    Como monitorizo a exaustão do connection pool e sessões idle-in-transaction?
    Consulte `pg_stat_activity` para a distribuição de estado das ligações (`active`, `idle`, `idle in transaction`, `idle in transaction (aborted)`). As sessões idle-in-transaction são particularmente perigosas — mantêm locks e bloqueiam o autovacuum. Defina `idle_in_transaction_session_timeout = '5min'` para terminar automaticamente os ofensores e alerte quando a contagem de ligações se aproximar de `max_connections × 0.8`. Se usar pgbouncer, monitorize a sua BD admin `pgbouncer` para estatísticas de pool.
    Isto funciona com PostgreSQL gerido (RDS, Cloud SQL, Azure)?
    Sim — o Xitogent liga-se pela rede a qualquer endpoint Postgres acessível com o role `pg_monitor` concedido. Execute o Xitogent num host EC2/bastion (ou em qualquer lugar com acesso de rede ao RDS/Aurora/Cloud SQL), aponte-o ao endpoint com credenciais de monitorização e as métricas fluem como se fosse self-hosted. O mesmo se aplica ao CloudNativePG.
    Que versões do PostgreSQL são suportadas?
    PostgreSQL 12 a 18 (atual em 2026) são totalmente suportadas. O PG 16 introduziu o `pg_stat_io` (I/O por backend, por objeto × contexto); o PG 17 adicionou `compute_query_id = auto`; o PG 18 expandiu o `pg_stat_io` com colunas ao nível de bytes e consolidou o WAL I/O na mesma view. A integração adapta-se à versão presente — as views mais novas são lidas quando disponíveis, e as versões mais antigas obtêm o conjunto clássico `pg_stat_*`.

    Comece a monitorizar PostgreSQL hoje

    Configure em menos de 60 segundos. Não é necessário cartão de crédito. Estatísticas completas desde o primeiro dia.

    Iniciar período de avaliação gratuita

    Continue a explorar

    Relacionado Integrações