Skip to content

Design Records

Design records explain PG Exporter’s architecture, alternatives, and tradeoffs. Each record states its status, source boundary, and last verification date.

Snapshot Histograms shipped in v1.4.0. Composite mode, cached pgBackRest metrics, and PostgreSQL log metrics are implemented in the development branch and are not in stable v1.4.1. The separate observability-product proposal was superseded.

Use the manuals for stable-release procedures and the release archive for shipped changes.

Design Records
Turning PostgreSQL CSV Logs into Durable Metrics DesignPostgreSQLLoggingPrometheusReliability
Caching pgBackRest Metrics Outside the Scrape Path DesignpgBackRestPrometheusReliability
The PostgreSQL Observability Product We Chose Not to Build DesignProductPostgreSQLObservability
One Endpoint, Several Sources: The Composite Exporter Contract DesignArchitecturePrometheusPgBouncerPatroni
Snapshot Histograms Are Gauges, Not Counters DesignHistogramPrometheusPostgreSQL
  • Turning PostgreSQL CSV Logs into Durable Metrics

    By Vonng In Design 1241 words 6 min

    VonngdesignDesignPostgreSQLLoggingPrometheusReliability

    Featured Image for Turning PostgreSQL CSV Logs into Durable Metrics

    PostgreSQL logs record events that SQL snapshots can miss: deadlocks, authentication failures, canceled autovacuum workers, checkpoints, temporary-file removals, and client disconnects. They can also report statement duration, according to the …

    PostgreSQL logs record events that SQL snapshots can miss: deadlocks, authentication failures, canceled autovacuum workers, checkpoints, temporary-file removals, and client disconnects. They can also report statement duration, according to the …

  • Caching pgBackRest Metrics Outside the Scrape Path

    By Vonng In Design 664 words 4 min

    VonngdesignDesignpgBackRestPrometheusReliability

    Featured Image for Caching pgBackRest Metrics Outside the Scrape Path

    pgbackrest info --output=json reports backup state. The command can contact remote repositories and wait for storage. Running it during a Prometheus request would add that delay to database monitoring. Status: Implemented but unreleased. Decision …

    pgbackrest info --output=json reports backup state. The command can contact remote repositories and wait for storage. Running it during a Prometheus request would add that delay to database monitoring. Status: Implemented but unreleased. Decision …

  • The PostgreSQL Observability Product We Chose Not to Build

    By Vonng In Design 564 words 3 min

    VonngdesignDesignProductPostgreSQLObservability

    Featured Image for The PostgreSQL Observability Product We Chose Not to Build

    We first considered a local PostgreSQL incident workbench. It would read structured logs, reconstruct session timelines, provide interactive filters and a terminal interface, and later run as an agent. Status: Superseded on 2026-08-24 by PostgreSQL …

    We first considered a local PostgreSQL incident workbench. It would read structured logs, reconstruct session timelines, provide interactive filters and a terminal interface, and later run as an agent. Status: Superseded on 2026-08-24 by PostgreSQL …

  • One Endpoint, Several Sources: The Composite Exporter Contract

    By Vonng In Design 798 words 4 min

    VonngdesignDesignArchitecturePrometheusPgBouncerPatroni

    Featured Image for One Endpoint, Several Sources: The Composite Exporter Contract

    Composite mode combines PostgreSQL, PgBouncer, Patroni, pgBackRest, and PostgreSQL log metrics in one /metrics endpoint. It reduces the number of processes and scrape targets for a database node. PostgreSQL remains the primary source; each optional …

    Composite mode combines PostgreSQL, PgBouncer, Patroni, pgBackRest, and PostgreSQL log metrics in one /metrics endpoint. It reduces the number of processes and scrape targets for a database node. PostgreSQL remains the primary source; each optional …

  • Snapshot Histograms Are Gauges, Not Counters

    By Vonng In Design 746 words 4 min

    VonngdesignDesignHistogramPrometheusPostgreSQL

    Featured Image for Snapshot Histograms Are Gauges, Not Counters

    A scalar metric cannot describe the distribution of a changing population. One 30-minute transaction and one hundred 18-second transactions have the same total age, but different counts, maxima, and operational effects. Status: Shipped in v1.4.0. …

    A scalar metric cannot describe the distribution of a changing population. One 30-minute transaction and one hundred 18-second transactions have the same total age, but different counts, maxima, and operational effects. Status: Shipped in v1.4.0. …