Banche dati
    Aggiornato il maggio 2026
    PostgreSQL logo

    PostgreSQL Monitoraggio

    Monitora in tempo reale le transazioni, le connessioni, la replica e le prestazioni di vacuum di PostgreSQL senza alcuna configurazione.

    Perché monitorare PostgreSQL?

    PostgreSQL è il database relazionale open source più avanzato al mondo, scelto per gestire carichi di lavoro critici, dai sistemi finanziari alle applicazioni geospaziali. Il monitoraggio di PostgreSQL è fondamentale per individuare le query di lunga durata, prevenire la saturazione delle connessioni, monitorare lo stato di salute della replica e ottimizzare le operazioni di vacuum. L'integrazione di PostgreSQL offerta da Xitoring garantisce una completa osservabilità del database.

    Rilevamento automatico tramite Xitogent — nessuna configurazione manuale richiesta
    Metriche di throughput di transazioni e query in tempo reale
    Monitoraggio dell'utilizzo del pool di connessioni e delle connessioni inattive
    Monitoraggio del lag di replica streaming e dello stato del WAL
    Monitoraggio delle prestazioni di vacuum e autovacuum
    Monitoraggio dei dead tuple e del bloat delle tabelle
    Funziona sia su server Linux che Windows
    Intervalli di raccolta metriche di 1 minuto
    Cos'è il monitoraggio di PostgreSQL?

    Il monitoraggio di PostgreSQL, spiegato

    Il monitoraggio di PostgreSQL intercetta il drift di replica, l'autovacuum in run-away, le tabelle gonfie e le sessioni idle-in-transaction prima che si trasformino in disservizi o corruzione dei dati. Per qualsiasi workload Postgres — RDS, Aurora, CloudNativePG, cluster Patroni self-hosted — la visibilità per database è la differenza tra cogliere un leak di connessioni in 60 secondi e venirne a sapere da un ticket cliente. Xitoring scopre automaticamente il suo Postgres, interroga le view native pg_stat_* con il ruolo pg_monitor e indirizza gli alert verso Slack, PagerDuty, Telegram o la sua on-call esistente.

    Indicatori

    Ciò che monitoriamo

    Connessioni attive

    Numero di connessioni attualmente attive al server PostgreSQL.

    Transazioni al secondo

    Tasso di transazioni committed e rollback.

    Operazioni sui tuple

    Tasso di tuple inserite, aggiornate, eliminate e recuperate su tutti i database.

    Dead Tuple

    Numero di dead tuple in attesa di vacuum, indicando un potenziale bloat delle tabelle.

    Rapporto di cache hit

    Percentuale di richieste di dati servite dagli shared buffer senza accesso al disco.

    Lag della replica

    Byte o secondi di ritardo rispetto al primary nella replica streaming.

    Tasso di generazione WAL

    Tasso di dati Write-Ahead Log generati.

    Attese di lock

    Numero di query in attesa di acquisire lock su oggetti del database.

    File temporanei creati

    Numero e dimensione dei file temporanei creati per l'elaborazione delle query.

    Dimensione del database

    Spazio disco totale utilizzato da ogni database, indici inclusi.

    Idle in transaction

    Connessioni inattive all'interno di una transazione aperta, possono trattenere lock.

    Checkpoint

    Frequenza e durata delle operazioni di checkpoint.

    Notifiche e avvisi

    Configurabile condizioni di attivazione

    Imposta dei trigger personalizzati nella tua dashboard per ricevere una notifica non appena le metriche dell{name}e superano le soglie da te definite.

    PostgreSQL pannello di controllo per la configurazione dei trigger di monitoraggio

    Connessioni attive

    critico

    Si attiva quando le connessioni attive si avvicinano a max_connections, rischiando il rifiuto di nuove connessioni ed errori applicativi.

    Lag della replica

    critico

    Si attiva quando la replica streaming resta indietro, rischiando incoerenza dei dati tra primary e replica.

    Dead Tuple

    avviso

    Avvisa quando il conteggio dei dead tuple supera la soglia, indicando che vacuum è indietro e il bloat delle tabelle aumenta.

    Rapporto di cache hit

    avviso

    Si attiva quando il rapporto di cache hit scende sotto la soglia, indicando un'I/O disco eccessiva e potenziale pressione di memoria.

    Attese di lock

    avviso

    Si attiva quando le query sono bloccate in attesa di lock, indicando contesa che degrada le prestazioni.

    Calo del tasso di transazioni

    critico

    Avvisa quando il throughput delle transazioni scende in modo significativo, indicando un possibile blocco o problema di prestazioni.

    01

    Importanza del monitoraggio PostgreSQL

    PostgreSQL gestisce dati mission-critical per aziende in tutto il mondo. Senza un monitoraggio adeguato, bloat delle tabelle, drift di replica ed esaurimento delle connessioni possono portare a corruzione dei dati, interruzioni e guasti irreversibili.

    • Rileva in anticipo le query lunghe e la contesa di lock
    • Previeni il bloat delle tabelle tramite il monitoraggio delle prestazioni di vacuum
    • Monitora la replica streaming per la coerenza dei dati
    • Identifica le connection leak prima dell'esaurimento del pool
    • Tieni traccia della generazione di WAL per la pianificazione della capacità di storage
    Dashboard di monitoraggio PostgreSQL con metriche delle transazioni
    Timeline degli avvisi di prestazioni del database
    02

    Perché scegliere Xitoring

    Xitoring offre un monitoraggio PostgreSQL di livello enterprise con configurazione zero-config. Il nostro agente leggero rileva automaticamente le tue istanze PostgreSQL, inizia a raccogliere metriche in meno di 60 secondi e si integra con i tuoi canali di notifica esistenti.

    • Installazione con un solo comando — niente YAML o file di configurazione complessi
    • Oltre 15 nodi di monitoraggio globali per controlli a bassa latenza
    • Dashboard unificata per server, database e uptime
    • Alerting flessibile tramite Slack, PagerDuty, Telegram e altri
    • Conservazione dei dati storici per pianificazione della capacità e audit
    Panoramica multi-database di Xitoring
    Canali di notifica e configurazione degli avvisi
    Casi d'uso

    Scenari comuni di monitoraggio PostgreSQL

    Dove PostgreSQL è tipicamente in esecuzione oggi e cosa potrebbe andare storto se nessuno sta monitorando.

    Database cloud gestito (AWS, Azure, Google)

    I provider cloud gestiscono backup e patch, ma non ti dicono quando le tue query sono lente, le tue connessioni si stanno esaurendo o una copia di backup sta silenziosamente rimanendo indietro rispetto a quella live. Rileviamo i problemi che il provider lascia a te, in modo che un'interruzione non colga il team alla sprovvista.

    Database self-hosted con failover automatico

    Se il database principale fallisce, una copia di backup dovrebbe subentrare in pochi secondi. Ma un backup che sta silenziosamente rimanendo indietro può trasformare quel passaggio in un'interruzione di 30 secondi — o peggio, una perdita di dati. Monitoriamo ogni copia in modo che tu sappia che è veramente pronta a subentrare prima che tu ne abbia mai bisogno.

    Database in esecuzione all'interno di Kubernetes

    I database in Kubernetes vengono spostati, riavviati e aggiornati automaticamente dalla piattaforma. La maggior parte delle volte è sicuro — quando non lo è, di solito lo scopri dagli utenti frustrati. Rileviamo i primi segnali di avvertimento in modo che il team possa intervenire prima che un aggiornamento di routine diventi un incidente.

    Prima di iniziare

    Prerequisiti per PostgreSQL

    Assicurati di avere tutto questo in posizione — la maggior parte delle installazioni dura 60 secondi una volta soddisfatte le condizioni.

    • PostgreSQL 12 o successivo (testato con 12-16) in esecuzione sul server
    • Un utente con il ruolo pg_monitor e SELECT su pg_stat_database
    • Opzionale: estensione pg_stat_statements caricata per metriche a livello di query
    Guida all'installazione

    Inizia con verbali

    1

    Installa Xitogent sul tuo server

    Se non l'hai già fatto, installa il leggero agente di monitoraggio Xitogent sul tuo server.

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

    Crea un utente di monitoraggio in PostgreSQL

    Crea un utente dedicato in sola lettura affinché Xitogent raccolga le metriche:

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

    Abilita l'integrazione PostgreSQL

    Usa la dashboard di Xitoring o la CLI per abilitare l'integrazione PostgreSQL con le credenziali di monitoraggio.

    sudo xitogent integrate
    4

    Configura le soglie di allerta (opzionale)

    Imposta soglie personalizzate per metriche come Replication Lag, dead tuple o numero di connessioni per essere avvisato quando qualcosa richiede attenzione.

    5

    Verifica che funzioni

    Esegui questo comando sul server per confermare che Xitogent ha rilevato l'integrazione. In circa 30 secondi nuove metriche cominceranno a comparire sulla tua dashboard.

    sudo xitogent status

    Spesso domande poste

    Di quali autorizzazioni ha bisogno l'utente addetto al monitoraggio?
    L'utente addetto al monitoraggio deve disporre del ruolo pg_monitor, che garantisce l'accesso in sola lettura alle statistiche del server e alle viste sulle prestazioni. Non è richiesto alcun accesso in scrittura.
    Questa integrazione influirà sulle prestazioni di PostgreSQL?
    No. Xitogent utilizza query leggere e in sola lettura sulle viste statistiche integrate di PostgreSQL. Il sovraccarico dovuto al monitoraggio è trascurabile.
    Posso monitorare la replica di PostgreSQL?
    Sì. L'integrazione monitora il ritardo nella replica in streaming, lo stato del WAL e lo stato di integrità delle repliche. Riceverai immediatamente un avviso se le repliche accumulano un ritardo.
    Funziona con PostgreSQL gestito (RDS, Cloud SQL)?
    L'integrazione è pensata per le istanze PostgreSQL in proprio su cui è installato Xitogent. Per i database gestiti nel cloud, consulta le nostre funzionalità di monitoraggio tramite API.
    Quali versioni di PostgreSQL sono supportate?
    Xitoring supporta PostgreSQL 10 e versioni successive, compresa l'ultima versione, PostgreSQL 16.
    Con quale frequenza vengono raccolti i dati?
    Per impostazione predefinita, i dati vengono raccolti a intervalli di 1 minuto. È possibile modificare questa impostazione tramite la dashboard di Xitoring o la CLI.
    Come monitoro l'esaurimento del connection pool e le sessioni idle-in-transaction?
    Interroghi `pg_stat_activity` per la distribuzione dello stato delle connessioni (`active`, `idle`, `idle in transaction`, `idle in transaction (aborted)`). Le sessioni idle-in-transaction sono particolarmente pericolose — tengono i lock e bloccano l'autovacuum. Imposti `idle_in_transaction_session_timeout = '5min'` per terminare automaticamente i colpevoli e impostatosi un alert quando il conteggio connessioni si avvicina a `max_connections × 0.8`. Se usa pgbouncer, monitori il suo DB admin `pgbouncer` per le statistiche di pool.
    Funziona con PostgreSQL gestito (RDS, Cloud SQL, Azure)?
    Sì — Xitogent si connette via rete a qualsiasi endpoint Postgres raggiungibile con il ruolo `pg_monitor` concesso. Esegua Xitogent su un host EC2/bastion (o ovunque con accesso di rete a RDS/Aurora/Cloud SQL), lo punti all'endpoint con credenziali di monitoraggio e le metriche fluiranno come se fosse self-hosted. Lo stesso vale per CloudNativePG.
    Quali versioni di PostgreSQL sono supportate?
    PostgreSQL dalla 12 alla 18 (attuale al 2026) sono pienamente supportate. PG 16 ha introdotto `pg_stat_io` (I/O per backend per oggetto × contesto); PG 17 ha aggiunto `compute_query_id = auto`; PG 18 ha esteso `pg_stat_io` con colonne a livello byte e consolidato l'I/O WAL nella stessa view. L'integrazione si adatta alla versione presente — le view più recenti vengono lette quando disponibili, le versioni precedenti ottengono il set `pg_stat_*` classico.

    Inizia a monitorare PostgreSQL oggi

    Configurazione in meno di 60 secondi. Non è richiesta alcuna carta di credito. Statistiche complete fin dal primo giorno.

    Inizia la prova gratuita

    Continua a esplorare

    Correlati Integrazioni