PostgreSQL Metrics and Insights

The metrics panel combines resource usage with a native-metrics snapshot for each PostgreSQL instance. Use the groups together to investigate workload changes instead of treating one field as a definitive diagnosis.

Accessing metrics

  1. In the sidebar, click Projects.
  2. Open the desired PostgreSQL database.
  3. Go to the project's metrics area.
  4. If the project has more than one instance or replica, select the one you want to inspect.

Native metric groups

GroupWhat it showsHow to interpret it
Healthsample status and current uptimeUptime describes the current instance; it is not an SLA or availability history.
Connectionscurrent connections, limit, utilization, active connections, and idle connectionsUtilization near the limit may indicate that you should review the connection pool or capacity.
Transactionscommits, rollbacks, and transactions per secondCommits and rollbacks are cumulative counters; transactions per second is a rate between samples.
Read cachehits, reads, and hit ratioMeasures PostgreSQL's internal buffer cache. It does not measure the operating system cache.
Activityrows returned, fetched, and written, plus temporary files and bytesThese are instance aggregates and do not include query text, parameters, or identifiers.
Lockscurrent or cumulative waits and deadlocksA sustained increase may indicate contention. The snapshot does not identify sessions, users, or queries.
Latencyaggregate average latency and total slow queries, when availableAvailability depends on instance capabilities. The snapshot does not provide percentiles that were not collected.
WAL and checkpointscumulative volume, volume per second, and checkpoint activityUse these values to recognize changes in write activity; one value alone does not confirm a problem.
Storageaggregate database size and project storage usage/capacityDatabase size may be unavailable without affecting resource metrics. There is no per-table breakdown.
Replicationrole, available and expected replicas, and lag in seconds or bytesFields appear only when the configuration provides the information.

Current values, counters, and rates

  • Current value: represents the state of a sample, such as current connections or utilization.
  • Counter: accumulates events since the last restart or reset and ends in _total, such as commits_total.
  • Rate: represents change between two valid samples and ends in _per_second, such as wal_bytes_per_second.
  • Ratio: is a fraction from 0 to 1; the Console may display it as a percentage.

After a restart or counter reset, the related rate is Unavailable until two valid samples exist. Zenifra does not display a negative rate or replace a missing value with zero.

Units

Suffix or fieldUnit
_bytes and _bytes_totalinteger bytes
_per_secondunits per second; _bytes_per_second fields use bytes per second
_ms and _ms_totalmilliseconds
_secondsseconds
_ratiofraction from 0 to 1
CPUCPU cores
Memorybytes

Last collection and availability

Each snapshot reports two timestamps:

  • observed_at: when values were observed on the instance;
  • collected_at: when the snapshot became available for retrieval.

The Console uses Last collection to show the age of the data. The availability state explains snapshot quality:

StateMeaning
Available (available)the sample completed and the expected groups were evaluated; conditional fields may still be null.
Partial (partial)only some groups or fields could be obtained.
Stale (stale)a previous valid sample is displayed with its original timestamp; it does not represent current state.
Unavailable (unavailable)no valid sample can be presented at this time.

A null field means the value is unsupported, was not observed, or could not be calculated. Do not interpret null as zero.

Snapshot, not history

Native metrics represent the latest reading for each instance. The current capability returns history: null: it does not provide time-series retention or historical charts. Counters may represent activity accumulated by the instance itself, but that does not turn Zenifra snapshots into queryable history.

For integrations, check the metrics capabilities and contract first. The public endpoints remain:

  • GET /v1/project/{id}/metrics/capabilities
  • GET /v1/project/{id}/metrics?instance={instance}

Next steps

On this page