Skip to content

This is the multi-page printable view of this section. .

Return to the regular view of this page.

Release Notes

A bilingual release note for every pg_exporter repository tag

This archive covers all 37 repository tags, from v0.0.1 to v1.6.0, with one English and Chinese note per version.

Of these versions, 35 have GitHub Releases; v0.0.1 and v0.0.5 have Git tags only. Dates use the release time, or the commit time for tag-only versions, in Asia/Shanghai (UTC+08:00).

For current packages and installation commands, use Downloads.

1 - PG Exporter v1.6.0

Independent health probes, bounded scrapes, correct cross-database progress labels, and container CA roots

PG Exporter v1.6.0 separates health probes from collection, bounds overlapping metrics requests, preserves completed bounded refreshes after client cancellation, and corrects cross-database progress labels. It also supplies container trust roots and updates dependencies. The Go toolchain remains 1.27.3 and the PostgreSQL driver remains lib/pq 1.12.3.

Changes

  • Independent health probes: slow metrics collection no longer blocks the background probe. Completing a scrape no longer overwrites a newer reachability or role observation. After initialization, HTTP health is written only by the probe; pg_up and pg_in_recovery remain collection results. A reachable database can return /up HTTP 200 even when a fatal collector makes pg_up zero.
  • Controlled overlapping scrapes: at most two metrics requests are admitted, including waiting and response writing. Collection remains serial. The second request can wait and reuse caches; extra requests receive HTTP 503. Waiting can be canceled without starting SQL. The request budget is 30 seconds, shortened by a valid positive finite Prometheus scrape-timeout header.
  • Collector-level cancellation: request cancellation prevents the next collector or database from starting. A collector already running with a positive timeout continues its predicates and main SQL under one shared deadline, then caches its result normally. This prevents a departing client from turning a healthy bounded refresh into a failure cached for other scrapers. A negative timeout removes the collector deadline and lets the request cancel its SQL.
  • Clearer interruption accounting: interrupted passes have an INFO interrupted summary and do not increment exporter/server scrape-error counts. Availability preserves the previous value, or becomes true after a successful precheck. Non-interrupted connection and fatal collector failures still count. Query-error statistics and fatal-query ERROR logs remain unchanged.
  • Correct progress labels: pg_vacuuming, pg_indexing, and pg_clustering retain cluster-wide coverage and three queries per refresh. Relations in the connected database and system catalogs resolve to names; user relations in other databases use numeric OIDs in relname, retaining datname and pid. An unrelated local relation can no longer supply a misleading name. Discovery filters or a lack of CONNECT do not filter out visible progress rows.
  • Container trust: both scratch-image build paths include the system CA bundle and license. Public CA verification can use the bundled trust store. Private CAs still require an explicit mount and sslrootcert; the default TLS mode is unchanged.
  • Dependencies and validation: YAML moves from v3 to v4 with the existing collector syntax retained. Prometheus common/procfs, golang.org/x/net, and supporting dependencies are updated. CI verifies container payload/TLS behavior and inspects all DEB architectures, in addition to RPM compatibility and checksums.
  • Collector descriptions: help text now distinguishes I/O bytes and operations, completed checkpoints, vacuum dead-tuple memory, and CLUSTER progress. SQL metric names, label keys, types, and units are unchanged on the same PostgreSQL version.

Upgrade notes

  1. Upgrade the configuration with the binary. Merge the new pg_exporter.yml or split YAML files; package upgrades preserve local configuration. A binary-only upgrade does not fix progress SQL. The bundle still contains 58 YAML files, 96 branches, 59 namespaces, and 460 distinct metric definitions, including disabled collectors and two unexpanded histograms.
  2. Check progress-label consumers. Cross-database relname values can change from an incorrect name to an OID, creating new time series. Preserve database and task identity in dashboards. Names in the connected database and names of system catalogs remain readable.
  3. Choose the right health signal. /up and role endpoints reflect the latest health probe. pg_up reflects main-target collection, including fatal collector failures. Non-fatal and child-database errors require their query/server metrics. --disable-intro hides all built-in metrics, including pg_up, while HTTP health remains available.
  4. Allow the PgBouncer probe connection. The main PgBouncer pool maximum changes from one to two connections. PostgreSQL keeps three on the main target and one per discovered database.
  5. Keep positive timeouts on fatal collectors. Canceling a negative-timeout fatal query caches its failure for the normal TTL. A subsequent live scrape can count that cached failure and return pg_up 0 until a successful refresh. TTL zero or --disable-cache still forces a refresh on every scrape.
  6. Review scrape concurrency and budgets. Excess requests or interrupted collection can return 503. A started bounded collector can extend work beyond the request budget, normally by up to its own timeout. Network stalls can last longer; neither timeout is a hard wall-clock guarantee, and connection handshakes need an appropriate DSN connect_timeout.

A real error coinciding with request cancellation can be omitted from the two pass-error counters because classification uses both the pass error and the request context. Query-level failures remain visible. A first scrape interrupted before a successful precheck leaves pg_up at zero until later recovery. Failure TTL, reload behavior, and immediate SIGTERM exit remain unchanged; this release does not add background refresh or graceful shutdown.

For upgrades from v1.4.1 or earlier, the v1.5.0 migration notes still apply, including subscription labels, receiver-state mappings, and PostgreSQL 10–13 monitoring grants. See metric compatibility, HTTP API, and scrape lifetime for the operating contracts.

Verification scope

Release validation covers the full race suite, both HTTP mux modes, module/generated-config consistency, static checks, six target builds, container TLS/payload checks, and package validation. Three cancellation regressions also passed 200 consecutive race-detector runs. The earlier reverse control failed with the interruption fix removed. On PostgreSQL 18.6, leaving during a bounded 0.8-second fatal query kept both pass-error counters at zero; the next scrape returned pg_up 1 and the cached metric without repeating the SQL.

Local acceptance of the exact release artifacts also covered PostgreSQL 9.2–9.6 with the legacy configuration, PostgreSQL 10–18 and 19 RC1 with the default configuration, and PgBouncer 1.26.1. Linux amd64/arm64/ppc64le archives and RPM/DEB packages passed runtime and installation checks; ARM64 package upgrades from 1.5.0 preserved local configuration. Darwin ARM64 passed 24 functional groups, including HTTPS authentication, reload overlap, standby promotion, and reconnect. Windows and Intel macOS received static checks only; container-based package tests did not exercise a real systemd boot. The published Docker Hub 1.6.0 and latest tags resolve to the same amd64/arm64 manifest. Both registry images were pulled and passed CA, payload, and TLS checks; their binaries match the corresponding release archives byte for byte.

Progress SQL variants were checked as a monitoring role on PostgreSQL 12, 17, and 18; the system-catalog follow-up and real cross-database VACUUM were verified on 18.6. These are scoped acceptance results, not a new exhaustive audit of every PostgreSQL release, extension, dashboard, or production workload. Composite, Patroni, pgBackRest, and PostgreSQL-log components remain on the separate snort development line and are not included in v1.6.0.

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter-1.6.0-1.aarch64.rpm Linuxarm64SHA-256 dd81e485377fd9bfead1b3e8000a145eb89d1c914becffaa3588cafc67731ed9
pg-exporter-1.6.0-1.ppc64le.rpm LinuxSHA-256 413f64b25feb6202bf7cf70f10d0a73527c42767a2cc2bef37beef6d33ab48ae
pg-exporter-1.6.0-1.x86_64.rpm Linuxamd64SHA-256 c25e57077f916a83993263eb0009959bbafe183fb3da4f81169629dfdbd7c64a
pg-exporter_1.6.0-1_amd64.deb Linuxamd64SHA-256 46f03078e7e74430c34d3650b48cecacc55e011c6bcecde4f3ef555076f917b3
pg-exporter_1.6.0-1_arm64.deb Linuxarm64SHA-256 d24dea8ee5774f28a8e4c5e9c9977b07d80b6e1c4d5a86a7b7802cc5d6d02a0f
pg-exporter_1.6.0-1_ppc64le.deb LinuxSHA-256 5cc839bc5f9d551559984442fcd24305e3113688dc2d92d437ed5421683e3ae0
pg_exporter-1.6.0.darwin-amd64.tar.gz macOSamd64SHA-256 ddefa112d810bf5ae8acc0eeb9edc23b44609ecd577a75df8f5c2321f81fea47
pg_exporter-1.6.0.darwin-arm64.tar.gz macOSarm64SHA-256 a62d9474d091ac906a5fcd1898ffce599eaf74fb7c93800caa85b6c190d64d85
pg_exporter-1.6.0.linux-amd64.tar.gz Linuxamd64SHA-256 296a26bf83acd7024f4de8fdeac0ee31baffa01e3153cf5c694e90ed8268719a
pg_exporter-1.6.0.linux-arm64.tar.gz Linuxarm64SHA-256 ea6d1dbe0820d599e81ed702e128b4fe4a557e2afb5b5c157de222576c1d7ce7
pg_exporter-1.6.0.linux-ppc64le.tar.gz LinuxSHA-256 b720183a3c4d35d20d683bc6ba998e5eddcb1f76e5721788829aa56c2cd7155a
pg_exporter-1.6.0.windows-amd64.tar.gz Windowsamd64SHA-256 29909ef65af96f1da5e7258c7b9025c85ad1dca63596c9fba8b85b55e006bb25

2 - PG Exporter v1.5.0

Go 1.27.3, security updates, correct replication identity, safer target URLs, and consistent runtime state

PG Exporter v1.5.0 updates the Go toolchain and dependencies, fixes replication collector identity and state mappings, and closes six runtime defects around target URLs, discovery, health, collector planning, durations, and HTTP routing.

The bundle still contains 58 YAML files, 96 collector branches, 59 namespaces, and 460 distinct metric definitions. The metric count spans all version branches, including disabled collectors and two unexpanded SQL histograms; it is not a promise of 460 series in each scrape.

Changes

  • Safer connection URLs: malformed URL syntax, query escaping, or unsafe decoded parameter names stop startup without exposing the original connection string. Explicit TLS options can no longer disappear silently when malformed parameters are normalized. An empty or whitespace-only selected PG_EXPORTER_URL_FILE also fails startup.
  • Correct database discovery: database identity follows lib/pq, including the dbname and database aliases. Discovery removes conflicting database parameters when substituting a database path and preserves special characters. This prevents repeated collection of one database, duplicate samples, and resulting HTTP 500 responses.
  • Consistent health responses: each response derives its status code and body from one atomic state snapshot. Concurrent probes, scrapes, and reloads can no longer combine HTTP 200 with a down or starting body. Health still reports cached target state.
  • Collector plans follow metadata: changes to the connected user, schema set, or extension set invalidate the plan after a successful metadata precheck. New eligible collectors appear on the next scrape; removed dependencies stop selecting collectors. Unchanged sets preserve their caches.
  • Bounded configuration durations: YAML TTLs, timeouts, and predicate TTLs reject NaN, infinity, and positive duration overflow. Zero/default semantics and finite negative timeouts that disable deadlines remain unchanged.
  • Reachable metrics paths: startup checks the actual metrics handler selected by the active HTTP mux, including decoded paths and redirects. A path cannot pass validation while routing to the homepage or a redirect.
  • Replication identity and states: every pg_sub_* sample gains a datname label, distinguishing subscriptions with the same name in different databases. pg_recv_state uses the actual receiver states, and its legacy query uses PG9.6-compatible substring().
  • More precise collector descriptions: document optional replication-origin permissions, publication table counts versus subscription table/sequence counts, and pg_backend grouping by backend type. These description changes do not add metric families or enable optional collectors.

Metric and dashboard compatibility

Compared with v1.4.1 on the same PostgreSQL version, v1.5.0 does not add, remove, or rename bundled SQL metric names. Types and units remain unchanged, but labels and state mappings do change. PostgreSQL 19 support first shipped in v1.3.0; upgrading the database can also change the selected SQL branch and a metric’s meaning.

Scope Metrics Compatibility action
v1.5.0 configuration pg_sub_* Adds datname to every sample. Keep database and subscription identity in joins and aggregations; new label sets create new time series.
v1.5.0 configuration pg_recv_state Real receiver states starting, waiting, restarting, and stopped now map to 6–9 instead of -1. Update value mappings and state alerts; codes 1–3 are reserved.
PG18 → PG19 Existing PG18 metric names None are removed or renamed by the PG19 branches in this bundle. This does not guarantee unchanged semantics or labels from PostgreSQL itself.
PG19 pg_sub_sync_error_count Keeps the name but becomes the sum of table and sequence synchronization errors. For table-only alerts, use pg_sub_sync_table_error_count; pg_sub_sync_seq_error_count reports the sequence component. Do not double-count the components and their sum.
PG19 pg_sub_has_worker, pg_sub_reset_time, pg_sub_confl_* Adds worker presence, reset time, and eight conflict counters. The subscription row can remain without an apply worker; metric presence alone is not a worker-health check.
PG19 pg_subrel_count Includes sequences as well as tables; pg_pubrel_count still counts tables only. Review panel labels and count comparisons.
PG19 pg_wal_fpi_bytes, pg_lock_stat_*, pg_recovery_state_*, pg_vacuum_score_* Additive metrics. Recovery state is replica-only; autovacuum scores are primary-only. Existing WAL, lock-distribution, and recovery families remain.

Users upgrading from PG17 or earlier must also migrate older names: checkpoint metrics left pg_bgwriter_* in PG17, and pg_wal_write, pg_wal_sync, pg_wal_write_time, and pg_wal_sync_time are absent from PG18 onward. The full compatibility guide lists each replacement, label/aggregation differences, and mixed-version PromQL.

Before rollout, evaluate the actual dashboard and alert expressions and test missing-series input. A successful scrape does not ensure every expected metric exists; an empty alert expression can silently stop firing. The missing-metric checks include a per-target rule and explain when absence is expected. The full PG19 metric table links to the tagged collector definitions; PostgreSQL validation remains scoped to 19 RC1.

Toolchain and dependencies

Component v1.4.1 v1.5.0
Go 1.26.5 1.27.3
prometheus/client_golang 1.23.2 1.25.0
prometheus/common 0.70.0 0.72.1
prometheus/exporter-toolkit 0.17.1 0.20.0
golang.org/x/net 0.57.0 0.61.0
golang.org/x/crypto 0.54.0 0.58.0
golang.org/x/text 0.40.0 0.43.0

The database driver remains lib/pq 1.12.3. There is no driver migration or new optional data source in this release. Prometheus client/model/procfs, YAML, compression, OAuth2, and other transitive modules are also refreshed; a version bump alone is not evidence that an application CVE was fixed.

Security updates

The upgrade incorporates upstream security fixes; it does not mean every listed CVE was exploitable through PG Exporter. The comparison below uses the v1.4.1 source and dependencies with Go 1.26.5. S means a static symbol match, P an imported-package match without an affected-symbol call, and M a module match whose affected package is not imported. Symbol matches can be conservative and are not attack reproductions.

Go standard library and build tools

Go 1.27.3 includes CVE-2026-111943, which adds an X.509 denylist for untrusted intermediate certificates, plus cumulative HTTP, TLS, template, and parser fixes. The following affected standard-library entries were present in the old baseline; the match column is from Darwin/arm64 and platform-specific preconditions still apply.

CVE Component First fixed version Old baseline match
CVE-2026-39821 net/http, net/http/internal/http2 1.26.6, 1.27.0-rc.3 P
CVE-2026-46600 net 1.26.6, 1.27.0-rc.3 P
CVE-2026-33818 encoding/asn1 1.26.6, 1.27.0-rc.3 S
CVE-2026-56859 encoding/xml 1.26.6, 1.27.0-rc.3 M
CVE-2026-56853 net/http 1.26.6, 1.27.0-rc.3 S
CVE-2026-56862 crypto/tls 1.26.6, 1.27.0-rc.3 S
CVE-2026-56858 html/template 1.26.6, 1.27.0-rc.3 S
CVE-2026-56860 net/url 1.26.6, 1.27.0-rc.3 P
CVE-2026-94448 html/template 1.26.9, 1.27.2 S
CVE-2026-97030 html/template 1.26.9, 1.27.2 S
CVE-2026-78659 net/http, net/http/internal/http2 1.26.9, 1.27.2 S
CVE-2026-56857 internal/syscall/windows, os 1.26.9, 1.27.2 P
CVE-2026-56866 net/http, net/http/httputil 1.26.9, 1.27.2 P
CVE-2026-97031 crypto/tls 1.26.9, 1.27.2 S
CVE-2026-94440 mime/multipart, net/textproto 1.26.9, 1.27.2 S
CVE-2026-78667 net/http 1.26.9, 1.27.2 P
CVE-2026-78660 net/http, net/http/internal/http2 1.26.9, 1.27.2 P
CVE-2026-78669 net/http, net/http/internal/http2 1.26.9, 1.27.2 S
CVE-2026-78663 net/http, net/http/internal/http2 1.26.9, 1.27.2 S
CVE-2026-94439 net/http 1.26.9, 1.27.2 S
CVE-2026-97032 net/http, net/http/internal/http2 1.26.9, 1.27.2 S
CVE-2026-111943 crypto/x509 1.26.10, 1.27.3 S

The build toolchain also includes module/toolchain download-validation fixes CVE-2026-56865, CVE-2026-56864, CVE-2026-94444, and CVE-2026-94447. These strengthen the build environment, rather than describing exporter runtime vulnerabilities. The official announcements cover Go 1.26.6, Go 1.27.2, and Go 1.27.3.

Go modules

Upgrade Fixes included Relevance to PG Exporter
x/net 0.57.0 → 0.61.0 CVE-2026-78659, CVE-2026-78660, CVE-2026-78669, CVE-2026-78663, CVE-2026-97032, fixed in 0.60.0 HTTP/2 memory amplification, malformed response framing, CPU exhaustion, flow-control accounting, and an HPACK race. Four static symbol matches and one package match in the old baseline. The same CVEs also affect Go’s bundled HTTP/2 copy; do not count them twice.
x/crypto 0.54.0 → 0.58.0 CVE-2026-56854, fixed in 0.55.0; CVE-2026-56855 and CVE-2026-78662, fixed in 0.56.0 SSH source-address authentication restrictions and deadlocks; affected packages are not imported, so these are module-level updates.
x/text 0.40.0 → 0.43.0 CVE-2026-56851, fixed in 0.41.0 secure/precis Nickname transformation panic; affected package is not imported.

On 2026-10-23, govulncheck found no symbol-level or imported-package vulnerabilities in the v1.5.0 candidate for Darwin/arm64, Linux/amd64, and Windows/amd64. The unimported OpenPGP package still produces the module-only advisory GO-2026-5932, which has no fixed version. This is not a claim that every dependency module is free of advisories. Upgrading Go alone while retaining the old modules leaves the five x/net matches; both the compiler and dependency changes matter.

Use the rebuilt release artifacts: installing a newer Go compiler on a host does not change an already compiled exporter binary.

Upgrade notes

  1. Deploy the matching collector configuration. Upgrading only the binary does not apply SQL or label corrections. Compare local customizations before replacing /etc/pg_exporter.yml.

  2. Review the pg_sub_* label change. The new datname label creates new time series. Keep database identity in PromQL joins and aggregations where needed. pg_sub_id remains a Gauge.

  3. Grant the PG10–13 subscription prerequisite. As an administrator, run the following in each database used as the exporter’s main connection database, using the actual monitoring role. Granting it only in a subscription’s database is insufficient. It does not expose subconninfo; PG14+ needs no extra grant under standard catalog ACLs.

    GRANT SELECT (oid) ON pg_catalog.pg_subscription TO monitor;
  4. Check receiver-state alerts. streaming=0, stopping=4, connecting=5 (PG19+), starting=6, waiting=7, restarting=8, stopped=9, and unknown/NULL =-1; codes 1–3 are reserved. A missing receiver row remains absent.

  5. Correct previously tolerated invalid input. Broken URL escapes, empty selected URL files, non-finite durations, and unreachable metrics paths now fail validation. Prefer /metrics for compatibility with both HTTP mux implementations.

Omitted sslmode still defaults to disable; configure TLS explicitly for remote connections. The scratch container still requires a mounted CA for certificate verification. Empty YAML reloads still apply zero configured collectors, invalid files in a directory may be skipped, and SIGTERM does not wait for active HTTP requests. See Security, HTTP API, and Bundled Collectors for the operating contracts.

Validation scope

Pre-release validation covered the race suite, both HTTP mux modes, static analysis, module and generated-config consistency, roughly 604,000 short-run fuzz cases, and six target builds. Non-superuser default collection passed on PostgreSQL 9.1–9.6, 10–18, 19 RC1, and PgBouncer 1.26.1. Runtime checks included conflicting database aliases, special database names, schema/extension changes, failed reloads, reconnect recovery, physical standby promotion, and concurrent HTTP requests. RPM/DEB installation and Docker builds were also checked.

These checks cover the recorded versions and scenarios, not every extension combination or production workload. Composite, Patroni, pgBackRest, and PostgreSQL-log components remain development work outside v1.5.0.

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter-1.5.0-1.aarch64.rpm Linuxarm64SHA-256 4cb1dfbbc6d22101d43e0841f6d5d86042a15f3894bd6e935151a1b94b94b980
pg-exporter-1.5.0-1.ppc64le.rpm LinuxSHA-256 c7efed8ab2062b873c87664987d73b8ff37fde89943b98a7f1967aef7961f7eb
pg-exporter-1.5.0-1.x86_64.rpm Linuxamd64SHA-256 6788c7cbb83e4708199f00a1ddf8057f74ba3606e28e3aa26eeaf1a453a1e1b3
pg-exporter_1.5.0-1_amd64.deb Linuxamd64SHA-256 91f705bbeba67a6a4c4e6a4595efb3d214f787d38d7e310c3121a594ecdce28f
pg-exporter_1.5.0-1_arm64.deb Linuxarm64SHA-256 75dd27cdd734a84d703d594d0b4173d21ff302c95cb04320da528f8789f147bd
pg-exporter_1.5.0-1_ppc64le.deb LinuxSHA-256 f41acf7693172d5e843df2c5e49e5173e74f9519f84b5453b0dcfa834c1efaf1
pg_exporter-1.5.0.darwin-amd64.tar.gz macOSamd64SHA-256 f3e5d03d3c3ca7df5e50e017e1c18ec78ccdc099f610296f674349acc1466975
pg_exporter-1.5.0.darwin-arm64.tar.gz macOSarm64SHA-256 3fb47e285c2700227b0437c827fdbf0d87a93e24befb5e94f439082073700e8d
pg_exporter-1.5.0.linux-amd64.tar.gz Linuxamd64SHA-256 e372f6defb844b4bfbe3286b40dba3d4aae2ce72c4bed9980e3b9a56507aef56
pg_exporter-1.5.0.linux-arm64.tar.gz Linuxarm64SHA-256 19f34db9e034d1437791af52676cf32e60a669d4a5036e0cc3efbe14efb61cde
pg_exporter-1.5.0.linux-ppc64le.tar.gz LinuxSHA-256 aef7e910480656ddc744c4d6f1cdb3448299e6c63a469d9110fdf280d0c15ac2
pg_exporter-1.5.0.windows-amd64.tar.gz Windowsamd64SHA-256 cf39b3ecfeeac7d088e348ab24e717e600e3f61c98611b0815fb18fef1db1d9f

3 - PG Exporter v1.4.1

Subscription count and label validation fixes; RPM rename

v1.4.1 is a maintenance release focused on metric accuracy and RPM upgrade compatibility.

Highlights

  • Fix pg_subrel_count overcounting when parallel logical replication apply workers are active: deduplicate pg_stat_subscription by subscription ID and name before aggregating subscription relation states
  • If a query result omits a configured LABEL column, that collector’s scrape now fails atomically instead of emitting an empty label or retaining stale results; other non-fatal collectors continue normally
  • Rename the official RPM package and artifact prefix from pg_exporter to pg-exporter; the new package provides and obsoletes the legacy name, allowing direct upgrades
  • Refresh version and standalone package metadata, add missing-label regression coverage, and validate RPM configuration, artifact names, and compatibility metadata in CI

Upgrade Notes

  • Custom collector SQL must return every LABEL column; the result schema must remain complete even when the query returns zero rows
  • If automation matches GitHub RPM file names directly, update pg_exporter-*.rpm to pg-exporter-*.rpm

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter-1.4.1-1.aarch64.rpm Linuxarm64SHA-256 7648f1852f12a17c5ecc9c2f6aed1888f443d6e650c5001f9c8a05d7e4822f13
pg-exporter-1.4.1-1.ppc64le.rpm LinuxSHA-256 09037731e2d4bd22dcabb9a386f381c67a782a05a0f9ed54517312d7ea8e6631
pg-exporter-1.4.1-1.x86_64.rpm Linuxamd64SHA-256 8dbf85ff6adc4b46b225b3a1e3be5a4a61130118eabee499865a88d04a3e1a93
pg-exporter_1.4.1-1_amd64.deb Linuxamd64SHA-256 cbe06eb161421a160d07b8c757864919d2ce1717b402630906235c471e411f38
pg-exporter_1.4.1-1_arm64.deb Linuxarm64SHA-256 36bc07ef2e3189b2acef06cf602ec9800ad6dc8b619ab5b2bfa5f900d9975cff
pg-exporter_1.4.1-1_ppc64le.deb LinuxSHA-256 8228e6a9b73d68aafedf6b4ed795636b9528c254052709086de4fa5084707aad
pg_exporter-1.4.1.darwin-amd64.tar.gz macOSamd64SHA-256 e6de4c890af8d1c54b4a597e9fd02329e9caa543604c8406270a7a3c842d76f4
pg_exporter-1.4.1.darwin-arm64.tar.gz macOSarm64SHA-256 6fe0b19398983587fbe5e9a31dd8de0aeaf03b6b91a6fe22fc71f63ba703a79f
pg_exporter-1.4.1.linux-amd64.tar.gz Linuxamd64SHA-256 f2f952dbcf1ae09027bcee4ea4921d2b34f9f58ffbc7e3a2d42113f2cc94a340
pg_exporter-1.4.1.linux-arm64.tar.gz Linuxarm64SHA-256 e111974a12175d5f65c4ee0fb888604e6b343d893476ef4e88264a4c9601e8b4
pg_exporter-1.4.1.linux-ppc64le.tar.gz LinuxSHA-256 7b8679de0d58373f5f570c0560125fb465f91e7a4d71223699e81c9ca6b84469
pg_exporter-1.4.1.windows-amd64.tar.gz Windowsamd64SHA-256 93c0231fbd3eae45604b0c723cf413b2bec5e0cfa652912b12fdf400f1761db4

4 - PG Exporter v1.4.0

Snapshot histograms, pg_xact_age collector, HTTP hardening

v1.4.0 introduces the Snapshot Histogram metric type and the new pg_xact_age transaction age collector, along with a round of systematic hardening across HTTP routing, packaging, and the build toolchain.

New Features

  • New HISTOGRAM column type: SQL observations are grouped by labels into snapshot distributions. The _bucket, _count, and _sum families are Gauges. Bucket bounds must be finite and strictly increasing; +Inf is added automatically. The le label is reserved, and reload replaces the bucket layout
  • New pg_xact_age collector: exposes the distribution of open transaction age (pg_xact_age_seconds) and idle-in-transaction age (pg_xact_age_idle_seconds) as histograms; cluster-level collection, client backends only, 10s TTL
  • Default config bundle grows from 57 to 58 definition files; pg_xact_age takes slot 0450, with pg_lock / pg_lock_stat / pg_query renumbered to 0460 / 0470 / 0480 (contents unchanged)

Fixes & Improvements

  • HTTP route registration is isolated to a private ServeMux instead of the global DefaultServeMux, so endpoints registered by third-party libraries can no longer be exposed accidentally
  • --web.telemetry-path is strictly validated at startup: empty paths, paths not starting with /, paths containing ? # { }, conflicts with built-in endpoints, and non-canonical paths like //metrics that could never be matched all fail fast with a clear error
  • The landing page HTML-escapes the telemetry path
  • The primary connection pool is properly closed when --fail-fast pre-check fails
  • RPM / DEB packaging fixes (#105): the prometheus system user’s HOME now points to /var/lib/prometheus (where libpq looks for ~/.pgpass), and the packaged default URL gains the /postgres database name so libpq no longer falls back to a database named after the OS user
  • Version string unified with the v prefix: --version output, the /version endpoint, and the pg_exporter_build_info{version=...} label of official release binaries now report v1.4.0 (GoReleaser artifacts previously reported unprefixed 1.3.0); artifact file names, package versions, and Docker image tag conventions are unchanged
  • Histogram value casting aligned with the scalar path: timestamp and boolean columns are exempt from scale
  • GoReleaser embedded package metadata corrected: supported range updated to PostgreSQL 9.x - 19+ and PgBouncer 1.8 - 1.25+
  • make docker restores GOPROXY / GOSUMDB build-arg passthrough

Engineering & Build

  • Build toolchain updated to Go 1.26.5, exporter-toolkit v0.17.1, and prometheus/common v0.70.0
  • New regular CI verification workflow: module tidy check, generated-config drift check (make conf output must stay in sync with config/*.yml), race tests, and six-platform cross-builds
  • Docker build tooling consolidated: the docker/ scripts and make docker-release are removed; multi-arch release images are built by GoReleaser
  • Config coverage tests generalized: tests no longer assume specific collectors exist in the config directory, making trimmed custom bundles easier to maintain

Upgrade Notes

  • If you were running with a non-canonical telemetry path (e.g. //metrics), the process will now refuse to start — previously it started but the metrics endpoint was silently unreachable

  • Automation that parses the version label of pg_exporter_build_info or the --version output needs to accommodate the v prefix

  • When any HISTOGRAM collector is configured, le can no longer be used as a constant label

  • Query snapshot buckets directly with histogram_quantile(); do not apply rate() or increase(). See snapshot Histogram semantics.

Checksums

SHA256 checksums

Download asset
FileChecksum
checksums.txt SHA-256 9874191591567ede87ae1d5820f06e781f27c664a7f4a6365211f9e042fd8199
pg-exporter_1.4.0-1_amd64.deb Linuxamd64SHA-256 c6af4ae62e13f518539a6d0b3ce86ff9f7acdb567a4f0f86c6f47563574da724
pg-exporter_1.4.0-1_arm64.deb Linuxarm64SHA-256 ff0360f61982ed627d1b1f93281a0ba66da9d077672f0c214e19522df01e40d6
pg-exporter_1.4.0-1_ppc64le.deb LinuxSHA-256 4fbadd4e9d918c9bc8e63975378e49375b0ff897d6b8a0f78799538b13dd68a1
pg_exporter-1.4.0-1.aarch64.rpm Linuxarm64SHA-256 5ce106d27fffa77c39fea9bf7cbc60f4328df3d926fef025bfdd082eb6d743fd
pg_exporter-1.4.0-1.ppc64le.rpm LinuxSHA-256 870b434e802e0039f10e1e3583c28a1fd83db4363a4608e1fab7f375f6d30600
pg_exporter-1.4.0-1.x86_64.rpm Linuxamd64SHA-256 c550d16ce3f9276948a4d44174e11716fc5e85e31e8788ea106a57cfbabd8488
pg_exporter-1.4.0.darwin-amd64.tar.gz macOSamd64SHA-256 11a34e531ac5d6d378b91e768f575525389141a6860afabd0cc9f2d853f06749
pg_exporter-1.4.0.darwin-arm64.tar.gz macOSarm64SHA-256 49d8d3a5932602f433c4ef681ed12007da1cbc11b5ee0f9d7b4dc2d0dff8e26e
pg_exporter-1.4.0.linux-amd64.tar.gz Linuxamd64SHA-256 113dfe70d4f780a456c05ca6b731f96c1013bf35ecb87d75c443fe2bac7e333b
pg_exporter-1.4.0.linux-arm64.tar.gz Linuxarm64SHA-256 68b4630ab39943658a8aff135990896a5ccf56c8a992e5982d572c78ef822e18
pg_exporter-1.4.0.linux-ppc64le.tar.gz LinuxSHA-256 72710625e5658c941b48f7becba9a86491852cea5469240328292838d9ed0979
pg_exporter-1.4.0.windows-amd64.tar.gz Windowsamd64SHA-256 14a0cf6ffa04c7e54c1d5aa5b37fe4bea1429c1d1e7cce89e9dd805c4a29db0b

5 - PG Exporter v1.3.0

PostgreSQL 19 support, new PG19 collectors and branches

v1.3.0 adds PostgreSQL 19 support, and refreshes the default collector bundle, build toolchain, and config coverage tests.

Highlights

  • Default support range extended from PostgreSQL 10-18+ to 10-19+
  • Default config bundle includes 57 config/*.yml definition files
  • Build dependencies updated to Go 1.26.4, lib/pq v1.12.3, Prometheus client v1.23.2, and exporter-toolkit v0.16.0
  • pg_recovery_state: collect pg_stat_recovery on recovery nodes, exposing promotion trigger status, replay LSN, timeline, recovery transaction time, and pause state
  • pg_lock_stat: collect PG19 pg_stat_lock, exposing waits, wait time, and fast-path overflow counts by locktype
  • pg_vacuum_score: collect the current-database summary from pg_stat_autovacuum_scores, exposing max autovacuum score and candidate table count
  • pg_wal_19: expose wal_fpi_bytes on PG19 as pg_wal_fpi_bytes
  • pg_sub_19: adapt sequence sync and logical replication conflict stats from pg_stat_subscription_stats, while keeping sync_error_count for legacy dashboards
  • pg_recv: recognize the PG13+ WAL receiver connecting state on PG19
  • pg_slot: recognize the PG19 replication slot invalidation reason idle_timeout
  • pg_db_confl: switch to an explicit column list to avoid accidentally exporting future view columns
  • pg_backup, pg_vacuuming, and pg_clustering continue reusing stable existing branches instead of changing the metric surface for low-value PG19 fields

Checksums

SHA256 checksums

Download asset
FileChecksum
checksums.txt SHA-256 c88c4ad7cde10531d75ec98fa536b2e7f531639f55c3b3c9866ee76934a4e2b2
pg-exporter_1.3.0-1_amd64.deb Linuxamd64SHA-256 dfc6d517300687a382557e6d77af1ecb513bdde2e961d01ca46efa008ae15569
pg-exporter_1.3.0-1_arm64.deb Linuxarm64SHA-256 3d2ff642d0bb3657b28eb7c4b30bacc8ef9e4cbd057c870e6ec6817b47ac8092
pg-exporter_1.3.0-1_ppc64le.deb LinuxSHA-256 4cfe043eb193780515a1e00ab93250dd44ca0728b35cb037ed165c70c89b6b5a
pg_exporter-1.3.0-1.aarch64.rpm Linuxarm64SHA-256 3ae4f8c554242ae52c4ba0fa07a9d95b702f72938ce55e8456dd97242cc46faf
pg_exporter-1.3.0-1.ppc64le.rpm LinuxSHA-256 71a0023383170b4ef3c243d9bf08d530b819fa891fa784e87c74b2a55cb426ec
pg_exporter-1.3.0-1.x86_64.rpm Linuxamd64SHA-256 316a97ccb2df9a02de99dda33826857ec32bbd6fd874ffb950625bc064d62496
pg_exporter-1.3.0.darwin-amd64.tar.gz macOSamd64SHA-256 4ab312f27f0ded7f0ff5591866a86311d13041fef3a015e92f44fcf4a2284ccd
pg_exporter-1.3.0.darwin-arm64.tar.gz macOSarm64SHA-256 2b20eb7b46c0790a8524f1c00a22ab57739bd60fd89ee947f6c2ba14e6a0d6bb
pg_exporter-1.3.0.linux-amd64.tar.gz Linuxamd64SHA-256 7a2a8ce818f30260d1e7267d0b9e1fd5b3cbd569d55ad184fc9d6fb3801f3ad7
pg_exporter-1.3.0.linux-arm64.tar.gz Linuxarm64SHA-256 696619d19efbcf33f4afbae9748e72897289d2b7f772509cd6d465c9e818066d
pg_exporter-1.3.0.linux-ppc64le.tar.gz LinuxSHA-256 0c16ac4a912f328be90e973b5123a272c2747759be9f56bacb5542653226475e
pg_exporter-1.3.0.windows-amd64.tar.gz Windowsamd64SHA-256 aa3724f4e8aeb732de18b7cb416283cbc2e94b9f511ec4b94e703792e8e8b10d

6 - PG Exporter v1.2.2

Routine Go 1.26.2 refresh, no functional changes

Changes

v1.2.2 updates release builds to Go 1.26.2. Exporter features and configuration are unchanged.

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter_1.2.2-1_amd64.deb Linuxamd64SHA-256 273dfd45ac367f71044998d19171ee27d7deb094ec9410d4b31aef7caacfdcc6
pg-exporter_1.2.2-1_arm64.deb Linuxarm64SHA-256 5e83c8448ee6350bec96ab95550df439a129c6700e5c9c7d0f9411aa9c2e7f40
pg-exporter_1.2.2-1_ppc64le.deb LinuxSHA-256 97bb804bd1018c111708df9118561421d2cc51bd47d031b6d1f12cf1c988a3b2
pg_exporter-1.2.2-1.aarch64.rpm Linuxarm64SHA-256 b2f76799b21aba02b6bf5b6e71bf7ae2cf4487ad8817d53aad92f1d710c00120
pg_exporter-1.2.2-1.ppc64le.rpm LinuxSHA-256 f0ab38907bc87a9634c22911d8a0501634d58ce34020c0952dd49281a06787e6
pg_exporter-1.2.2-1.x86_64.rpm Linuxamd64SHA-256 2000593d9d6732f3e03a43e291bc4e2368d2ecea125a2744dc533a030f51c800
pg_exporter-1.2.2.darwin-amd64.tar.gz macOSamd64SHA-256 e8a71704eb6957beaebd8ecaf83479e44db4a09bd9dc95c32f7b617f141b0386
pg_exporter-1.2.2.darwin-arm64.tar.gz macOSarm64SHA-256 e648d9444f9a5f3ee49b82bcbbb459eefd73307c789f24f0d5238dbe1bcfec9c
pg_exporter-1.2.2.linux-amd64.tar.gz Linuxamd64SHA-256 f278aba93d09b2a47aeef66898e770cacfdbc046eab0ba02de29f7c0261d9ede
pg_exporter-1.2.2.linux-arm64.tar.gz Linuxarm64SHA-256 bbeef56452643b8eb6bf9bb5baf113ab2c38177c06f8e1d008e63cce82260801
pg_exporter-1.2.2.linux-ppc64le.tar.gz LinuxSHA-256 ad2385278ec6060fef2f7db7873c025f56f5c55048b51815cb4195486ca9dbe2
pg_exporter-1.2.2.windows-amd64.tar.gz Windowsamd64SHA-256 2ac53298058f09c5569464f918396f13d3a9efebec00296d89497e97ea74caf4

7 - PG Exporter v1.2.1

Config style cleanup, Go 1.26.1 refresh

v1.2.1 updates the build toolchain, standardizes configuration formatting, and adds configuration consistency tests. Collector behavior is unchanged.

Highlights

  • Refresh the build toolchain: bump both release workflows and Docker build images to Go 1.26.1
  • Standardize config style: switch inline description values in both current and legacy configs to double-quoted form, and regenerate merged pg_exporter.yml / legacy/pg_exporter.yml
  • Add config consistency tests: verify split and merged configs remain equivalent, and check inline metric description style to reduce configuration drift
  • Refresh packaging metadata: update RPM / DEB support descriptions to PostgreSQL 9.x - 18+ and PgBouncer 1.8 - 1.25+, and refresh Pigsty documentation links

Checksums

Download asset
FileChecksum
pg-exporter_1.2.1-1_amd64.deb Linuxamd64SHA-256 2cbe7a78a0dde8a6155a543232af883de6623531c9f6ea0951ddc30dc7514649
pg-exporter_1.2.1-1_arm64.deb Linuxarm64SHA-256 e70e09974ad52ba607b176b63c300610e37f44fe67d249aa9ef364bd58352585
pg-exporter_1.2.1-1_ppc64le.deb LinuxSHA-256 4e6c7fae85e7fe2e62c3d66c388b5f3db57b5e95e85f43ce648d21b792d83d87
pg_exporter-1.2.1-1.aarch64.rpm Linuxarm64SHA-256 30103629e8c5c1ee5589addadb37fcb07b43179c8a19f80c016a0ed8d7ac2a47
pg_exporter-1.2.1-1.ppc64le.rpm LinuxSHA-256 01b4dd32b20bca8612f71f0edf3557dfa92fc85f669d3260f627d34ce102b517
pg_exporter-1.2.1-1.x86_64.rpm Linuxamd64SHA-256 5afb4f14aa71b256cdfc93d6cc6da8a7052427d6f1c1b71900bf2593b196de50
pg_exporter-1.2.1.darwin-amd64.tar.gz macOSamd64SHA-256 45e71c6017beffabf2873841d374b5de40eb499dd768d6db1208d7cc6295bcf5
pg_exporter-1.2.1.darwin-arm64.tar.gz macOSarm64SHA-256 d3035cc6a023fe1bad5443a7c1d5c8189b3d807d165f131f88566b5c35476259
pg_exporter-1.2.1.linux-amd64.tar.gz Linuxamd64SHA-256 14d3f83de4377e5363611d2ae4eef9470a85d7518784c06b8a8c0f63b6e0a340
pg_exporter-1.2.1.linux-arm64.tar.gz Linuxarm64SHA-256 71082081e7aaf1cf15c941c310d03da49cf9971205274aad7dae21a126bc4fe1
pg_exporter-1.2.1.linux-ppc64le.tar.gz LinuxSHA-256 cba30919b8d2945be199a4a346eb2891c88fd7a1d6c3482c1006442f4f6109e7
pg_exporter-1.2.1.windows-amd64.tar.gz Windowsamd64SHA-256 6fe528a242f0bbd3b89cd8b2697f48905b5c4b1398abfb3305193808c01738e9

8 - PG Exporter v1.2.0

Hot reload, non-blocking startup, PG9.x legacy support

v1.2.0 updates startup, hot reload, health checks, and configuration validation. It also adds a configuration bundle for PostgreSQL 9.1–9.6.

New Features

  • Add robust hot reload workflow: support platform-specific reload signals (SIGHUP / SIGUSR1) and strengthen POST /reload to refresh configs and query plans without process restart
  • Switch startup to non-blocking mode: HTTP endpoints come up first even when target precheck fails, making recovery and monitoring integration smoother
  • Add PostgreSQL 9.1-9.6 legacy config bundle: provide legacy/ configs and a make conf9 target for easier onboarding of EOL PostgreSQL versions
  • Rework health probing architecture: use cached health snapshots with periodic probes for more consistent role-based health endpoints and smoother reload behavior
  • Improve release engineering baseline: run go test and go vet in release workflows and bump build toolchain to Go 1.26.0

Bug Fixes

  • Fix multiple config parsing edge cases: reject malformed metrics entries, return explicit errors when config dirs fail to load valid YAML, and harden runtime fallbacks
  • Fix CLI bool flag parsing to correctly handle --flag=false style arguments
  • Fix /explain output/rendering behavior by adjusting content type handling and using safer template rendering
  • Fix predicate query and PG URL handling details: better BOOL/BOOLEAN predicate support, safer row lifecycle handling, and improved dbname query-parameter parsing/redaction
  • Fix resource cleanup when auto-discovered targets are removed by closing dropped server connections asynchronously
  • Fix metric/label validation details including const-label conflict checks, scaled default-value handling, and Prometheus naming/rule checks

Checksums

Download asset
FileChecksum
pg-exporter_1.2.0-1_amd64.deb Linuxamd64SHA-256 26e7a052e730b412bbbe5f49846f951b89650f1f95c2466d5d486923f0825f64
pg-exporter_1.2.0-1_arm64.deb Linuxarm64SHA-256 4ec219135c49708d010af7b8a7553b8008f630574e1d4cfc7642fbf951eefafe
pg-exporter_1.2.0-1_ppc64le.deb LinuxSHA-256 5b2cc00e2c3e2ffd9eb0ab1a4f5e937dd68f3a69a14423a74d4de3d7cf29283e
pg_exporter-1.2.0-1.aarch64.rpm Linuxarm64SHA-256 d536d41a92e8aa85ae3935715d1bf0463208b1e614eae73543f1472ca8a7e0d4
pg_exporter-1.2.0-1.ppc64le.rpm LinuxSHA-256 b7a1daa225f8ca4de6d227e6004330589295d924accd221892ebe14f191fe35c
pg_exporter-1.2.0-1.x86_64.rpm Linuxamd64SHA-256 28bf7d85862510675c64ff5181d216c6a068a23ffa56dc4bb9e6b82165ff99b5
pg_exporter-1.2.0.darwin-amd64.tar.gz macOSamd64SHA-256 51c3b3d18089d888a54a6b3e7ecb0620dc0da04c81471a0b7aaa88c1677ddb8c
pg_exporter-1.2.0.darwin-arm64.tar.gz macOSarm64SHA-256 3ba1c7adea9c926afd3054ba18cc43e665e420a495bfcfd2248242c49a67b077
pg_exporter-1.2.0.linux-amd64.tar.gz Linuxamd64SHA-256 9e1ec6c15e6b2aaadbe27a27053ee1ec289bdd012c19ca6371de738fa5f8843e
pg_exporter-1.2.0.linux-arm64.tar.gz Linuxarm64SHA-256 9e18849693ccda313979db0a230cb81acfe4199364feb6ce3e72d1a89fbfb809
pg_exporter-1.2.0.linux-ppc64le.tar.gz LinuxSHA-256 6e28489685d0bd1fdabcb71474f64f559ade199b871666954323bae9dc01465f
pg_exporter-1.2.0.windows-amd64.tar.gz Windowsamd64SHA-256 9e9beac619fe2c614a77bc3334bc4b80df9db355bf95845eb4b11674ddad52d9

9 - PG Exporter v1.1.2

pg_timeline configuration fix and dependency updates

Changes

Fixed the pg_timeline configuration and updated Go dependencies.

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter_1.1.2-1_amd64.deb Linuxamd64SHA-256 8cddd57a843914a3145a80a3220bc875047b9bcac0664357c01ba86485436236
pg-exporter_1.1.2-1_arm64.deb Linuxarm64SHA-256 f5b25a8ae5c022867a54c17ba1c6493eba20dcb292340460390289336df24f04
pg-exporter_1.1.2-1_ppc64le.deb LinuxSHA-256 4da2c287f6717681b25befda0d59a89b9d1b258281ce94f3a6bc21d02f70c83c
pg_exporter-1.1.2-1.aarch64.rpm Linuxarm64SHA-256 b26355f3c1a5b8a147291a51e2d7ada204deed6d52877c146a8b3e499defa5e8
pg_exporter-1.1.2-1.ppc64le.rpm LinuxSHA-256 42ef89716ba99dd918b0e9c77ef3236129d613f68bb8ae5929668a5a2596cca5
pg_exporter-1.1.2-1.x86_64.rpm Linuxamd64SHA-256 a8f4a2d5c7b6701c7bac788a7ed7183b6c4b74a334326cd389f3a695fb77675d
pg_exporter-1.1.2.darwin-amd64.tar.gz macOSamd64SHA-256 775f5ea3188a6acb1327c001c4ba9a0651424c3bb37d800e6f67972c904c4750
pg_exporter-1.1.2.darwin-arm64.tar.gz macOSarm64SHA-256 7f2bbcc2db1e16dc78c3edd8e67e20e4ec81f2972c8c37135cba6f6afbf91003
pg_exporter-1.1.2.linux-amd64.tar.gz Linuxamd64SHA-256 33c34b1f9ef6b6e7615f241a95059a8137a2337a454930b668180a9329d12b98
pg_exporter-1.1.2.linux-arm64.tar.gz Linuxarm64SHA-256 2b91a5818d780e38692ab6446cacb496695e67388676c18012be582e8ddfbdd8
pg_exporter-1.1.2.linux-ppc64le.tar.gz LinuxSHA-256 adcb5f229f4a5d641f6430b9a2dfb0377a2e4310efad242730867d6cdf5e27ee
pg_exporter-1.1.2.windows-amd64.tar.gz Windowsamd64SHA-256 90b7c7e4b2b94936b5faa3cf2d35509b62ebc0d60b3afe1abaaf03efcd415a4a

10 - PG Exporter v1.1.1

New pg_timeline collector, pg_sub_16 branch, bug fixes

Minor release with new collectors and bug fixes.

New Features

  • New pg_timeline collector for timeline monitoring
  • New pg_sub_16 collector branch to exclude parallel operations in subscriptions (PostgreSQL 16+ compatibility)

Bug Fixes

  • Fix: Add coalesce for slotname in pg_recv collector to handle NULL values

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter_1.1.1-1_amd64.deb Linuxamd64SHA-256 fd5ee96511676fc11b975115a4870ed0c811056519f79ad7f24ab7ec538fa278
pg-exporter_1.1.1-1_arm64.deb Linuxarm64SHA-256 b90a08d16a6e4707d82f8f3ae282cb76acb331de607e7544532fd0b774b7aa27
pg-exporter_1.1.1-1_ppc64le.deb LinuxSHA-256 163955f59a71da48901ffa26bb2f2db0712d31d8aeb1ab3fa463683f719a6d3a
pg_exporter-1.1.1-1.aarch64.rpm Linuxarm64SHA-256 cf4f8bc12bb8a2d1e55553f891fd31c43324e4348249727972eb44f82cd4e6c8
pg_exporter-1.1.1-1.ppc64le.rpm LinuxSHA-256 5a425b2f61f308b32f2d107372830c34eb685bfb312ee787f11877a20f1c4a2e
pg_exporter-1.1.1-1.x86_64.rpm Linuxamd64SHA-256 23606ccea565368971ac2e7f39766455b507021f09457bcf61db13cb10501a16
pg_exporter-1.1.1.darwin-amd64.tar.gz macOSamd64SHA-256 ce74624eba92573318f50764cee4f355fa1f35697d209f70a4240f8f9d976188
pg_exporter-1.1.1.darwin-arm64.tar.gz macOSarm64SHA-256 35fba12521dbdcc54a3792278ed4822e4ca9e951665b5e53dff7c2a0f7014ae3
pg_exporter-1.1.1.linux-amd64.tar.gz Linuxamd64SHA-256 7699bdef15dd306289645beee8d40a123ca75dc988e46d89cdd75a1c1f650bef
pg_exporter-1.1.1.linux-arm64.tar.gz Linuxarm64SHA-256 f4baba59d27a8eb67f0c5209fed7b9f00f78db796e583cc3487701e7803671c6
pg_exporter-1.1.1.linux-ppc64le.tar.gz LinuxSHA-256 810c3817c27358fa667714f8bfe8d52840a7ea010035e29547919ccb7c9fa781
pg_exporter-1.1.1.windows-amd64.tar.gz Windowsamd64SHA-256 3f6df693b3eb92fdaeaeccf99ea7e5977b2c65028a4f00bdfabbc0405b9f5f93

11 - PG Exporter v1.1.0

Update default metrics collectors, bump to go 1.25.5

Updated dependencies and built with Go 1.25.5.

Collector Changes

  • pg_setting: Major refactor for PG10-18 compatibility with missing_ok support
    • Add 15 new metrics: max_parallel_workers, max_parallel_workers_per_gather, max_parallel_maintenance_workers, shared_buffers, maintenance_work_mem, effective_cache_size, fsync, full_page_writes, autovacuum, autovacuum_max_workers, checkpoint_timeout, checkpoint_completion_target, hot_standby, synchronous_commit, io_method
    • Rename work_memory_size to work_mem
    • Change min_version from 9.6 to 10, explicit ::int type casting
  • pg_size: Fix log directory size detection, use logging_collector check instead of path pattern matching
  • pg_table: Performance optimization, replace LATERAL subqueries with JOIN for better query performance; fix tuples and frozenxid metric type from COUNTER to GAUGE; increase timeout from 1s to 2s
  • pg_vacuuming: Add PG17 collector branch with new metrics indexes_total, indexes_processed, dead_tuple_bytes for index vacuum progress tracking
  • pg_query: Increase timeout from 1s to 2s for high-load scenarios
  • pg_io: Fix typo in reuses description (“in reused” -> “is reused”)
  • pg_checkpointer: Fix description for pg_checkpointer_10 (“9.4+” -> “9.4-17”)
  • pg_db_confl: Fix description for pg_db_confl_15 (“9.1 - 16” -> “9.1 - 15”)
  • Format alignment fixes for pg_db, pg_indexing, pg_clustering, pg_backup

Other Changes

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter_1.1.0-1_amd64.deb Linuxamd64SHA-256 9c65f43e76213bb8a49d1eab2c76a27d9ab694e67bc79f0ad12769ea362b5ca2
pg-exporter_1.1.0-1_arm64.deb Linuxarm64SHA-256 bcd2cacb4febc5fb92f9eda8e733c161c8c6721416e16ec91a773503241c972d
pg-exporter_1.1.0-1_ppc64le.deb LinuxSHA-256 2c9d4a9cb06d07af0b6dd9dd6e568af073dc9f6775abde63b45f0aae34d171b1
pg_exporter-1.1.0-1.aarch64.rpm Linuxarm64SHA-256 2934ab5b0fb16dca5a96ec1e8f230e32c72b30ca076b5e5ddf8ec553c821f7b8
pg_exporter-1.1.0-1.ppc64le.rpm LinuxSHA-256 3c9955f31ba93532cc7f95ff60b0658f4b6eca6a827710e2f70c0716b34eab43
pg_exporter-1.1.0-1.x86_64.rpm Linuxamd64SHA-256 9fdefbd8e7660dcb130207901a27762e0a381857ba8cf12b63184744f92dea05
pg_exporter-1.1.0.darwin-amd64.tar.gz macOSamd64SHA-256 7159002016754309e0ed625a9a48049d21177883fa11d1e448eb7655ceb690cc
pg_exporter-1.1.0.darwin-arm64.tar.gz macOSarm64SHA-256 7d55ac5cda0b1fd8ffbd5e76b9c1c1784ac8e353104a206caaadce89adda6d65
pg_exporter-1.1.0.linux-amd64.tar.gz Linuxamd64SHA-256 8211ec24277554b9b1a36920d7865153e21c2621031d3d08f22d94cdd2ddf02f
pg_exporter-1.1.0.linux-arm64.tar.gz Linuxarm64SHA-256 d17ab7f9bf04442e642483d432d005d25bb62e0c9caa73cb7e69ee19eb89b3ae
pg_exporter-1.1.0.linux-ppc64le.tar.gz LinuxSHA-256 c074aeb345cc30f7b6e16aa153ae3d9a12789e4425987590c3fd77c4e68a40b6
pg_exporter-1.1.0.windows-amd64.tar.gz Windowsamd64SHA-256 13d653e2abb023ce9526bdc2815135b82f49c044d237030f3f56b09fb016fcb7

12 - PG Exporter v1.0.3

Routine update on 1.25.4, fix unsupported libpq env

Changes

  • Updated dependencies and built with Go 1.25.4.
  • Fix #80 Conflict with libpq env variables
  • Change default value of auto-discovery to true by @kadaffy

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter_1.0.3-1_amd64.deb Linuxamd64SHA-256 7efa1a77dfd5b94813c32c7ac015b1d479b1f04fb958f6b1ed5af333e354d015
pg-exporter_1.0.3-1_arm64.deb Linuxarm64SHA-256 41e18bf18eba2ab90ac371bfb46e9152da9fe628ebd8e26766cac08325eb3b07
pg-exporter_1.0.3-1_ppc64le.deb LinuxSHA-256 7da8ed738d254c120d42aa51d6137f84e7f4e3188bc764d4f9a1438220363a43
pg_exporter-1.0.3-1.aarch64.rpm Linuxarm64SHA-256 a214b555981156da7b7d248b1f728f8ac88a07ac8f77a66c5d8e43b40670d6b4
pg_exporter-1.0.3-1.ppc64le.rpm LinuxSHA-256 d876fc66e208612ebffe3c43dabce88b088d915f92584260d710b85a3a131413
pg_exporter-1.0.3-1.x86_64.rpm Linuxamd64SHA-256 75f62d314fec50c836c534996c884d25ecea77810ab33e7ba0e9c4b783e775b4
pg_exporter-1.0.3.darwin-amd64.tar.gz macOSamd64SHA-256 47829a19707284bcee1b8dc47cc7d0172398bb533e6b4043950f787486712769
pg_exporter-1.0.3.darwin-arm64.tar.gz macOSarm64SHA-256 38b6ccb72315cadea542b1f2a7b7022d0e8d48ffd4ab177bb69a0a909b99af6b
pg_exporter-1.0.3.linux-amd64.tar.gz Linuxamd64SHA-256 36e8dff84d61a7593ff1fcec567ca4ffeaecd0be2f9eabd227ceac71b12a919a
pg_exporter-1.0.3.linux-arm64.tar.gz Linuxarm64SHA-256 6477e8ef873773a09c4f39a29444f21b5b2c71e717e52ca425bcc8e8e5448791
pg_exporter-1.0.3.linux-ppc64le.tar.gz LinuxSHA-256 a083b51ebed2b280e2eaa0f19558494e7fa6f122a0a86a1d117206fcd090820c
pg_exporter-1.0.3.windows-amd64.tar.gz Windowsamd64SHA-256 a1f9b27b7190f478726d96f270a72d9dc4d3f2bcc3b0326b7c4a2607e62ea588

13 - PG Exporter v1.0.2

More build platforms with GoReleaser

Changes

  • Updated dependencies and built with Go 1.25.0.
  • Added the PG Exporter website.
  • Release with GoReleaser for more operating systems and architectures with CI/CD pipeline:
    • add windows amd64 support
    • add linux ppc64le support

Checksums

SHA256 checksums

Download asset
FileChecksum
pg-exporter_1.0.2-1_amd64.deb Linuxamd64SHA-256 683bf97f22173f2f2ec319a88e136939c2958a1f5ced4f4aa09a1357fc1c44c5
pg-exporter_1.0.2-1_arm64.deb Linuxarm64SHA-256 f62d479a92be2d03211c162b8419f968cea87ceef5b1f25f2bcd390e0b72ccb5
pg-exporter_1.0.2-1_ppc64le.deb LinuxSHA-256 e1bbfc5a4c1b93e6f92bc7adcb4364583ab763e76e156aa5c979d6d1040f4c7a
pg_exporter-1.0.2-1.aarch64.rpm Linuxarm64SHA-256 f51d5b45448e6bbec3467d1d1dc049b1e16976f723af713c4262541ac55a039c
pg_exporter-1.0.2-1.ppc64le.rpm LinuxSHA-256 18380011543674e4c48b2410266b41165974d780cbc8918fc562152ba623939e
pg_exporter-1.0.2-1.x86_64.rpm Linuxamd64SHA-256 198372d894b9598c166a0e91ca36d3c9271cb65298415f63dbffcf6da611f2bb
pg_exporter-1.0.2.darwin-amd64.tar.gz macOSamd64SHA-256 cbe7e07df6d180507c830cdab4cf86d40ccd62774723946307b5331d4270477d
pg_exporter-1.0.2.darwin-arm64.tar.gz macOSarm64SHA-256 20c4a35fa244287766c1d1a19cd2e393b3fa451a96a81e5635401e69bef04b97
pg_exporter-1.0.2.linux-amd64.tar.gz Linuxamd64SHA-256 d742111185f6a89fff34bfd304b851c8eb7a8e38444f0220786e11ed1934eff1
pg_exporter-1.0.2.linux-arm64.tar.gz Linuxarm64SHA-256 0b1f4c97c1089c4767d92eb22419b8f29c9f46fb90ddfd1e8514cc42dc41054f
pg_exporter-1.0.2.linux-ppc64le.tar.gz LinuxSHA-256 895083fd2c7fc5409cc1a2dbaaef1e47ac7aa6a3fd5db2359012922d90bcdcc3
pg_exporter-1.0.2.windows-amd64.tar.gz Windowsamd64SHA-256 5f751228e7120604af9a482fb70197489fa633c38a0f2b6a3489393fbc6a10aa

14 - PG Exporter v1.0.1

Docker Hub images, Go 1.24.5, disable pg_tsdb_hypertable

Changes

  • Add Docker Hub images: pgsty/pg_exporter
  • Updated Go dependencies and built with Go 1.24.5.
  • Disable pg_tsdb_hypertable collector by default, since timescaledb catalog is changed.

Checksums

Download asset
FileChecksum
pg_exporter-1.0.1-1.aarch64.rpm Linuxarm64MD5 d5e2d6a656eef0ae1b29cd49695f9773
pg_exporter-1.0.1-1.x86_64.rpm Linuxamd64MD5 cb01bb78d7b216a235363e9342803cb3
pg_exporter-v1.0.1.darwin-amd64.tar.gz macOSamd64MD5 67093a756b04845f69ad333b6d458e81
pg_exporter-v1.0.1.darwin-arm64.tar.gz macOSarm64MD5 2d3fdc10045d1cf494b9c1ee7f94f127
pg_exporter-v1.0.1.linux-amd64.tar.gz Linuxamd64MD5 e242314461becfa99c3978ae72838ab0
pg_exporter-v1.0.1.linux-arm64.tar.gz Linuxarm64MD5 63de91da9ef711a53718bc60b89c82a6
pg-exporter_1.0.1_amd64.deb Linuxamd64MD5 718f6afc004089f12c1ca6553f9b9ba5
pg-exporter_1.0.1_arm64.deb Linuxarm64MD5 57da7a8005cdf91ba8c1fb348e0d7367

15 - PG Exporter v1.0.0

PostgreSQL 18 support, new WAL/checkpointer/I/O metrics

Changes

Added PostgreSQL 18 collector branches:

Branch Changes
pg_wal_18 Removed write, sync, write_time, and sync_time; PostgreSQL moved these statistics to pg_stat_io
pg_checkpointer_18 Added num_done and slru_written
pg_db_18 Added parallel_workers_to_launch and parallel_workers_launched
pg_table_18 Added table_parallel_workers_to_launch and table_parallel_workers_launched
pg_io_18 Added WAL statistics and read_bytes, write_bytes, and extend_bytes; removed op_bytes
pg_vacuuming_18 Added delay_time

Checksums

MD5 checksums published in the GitHub Release:

Download asset
FileChecksum
pg_exporter-1.0.0-1.aarch64.rpm Linuxarm64MD5 33fe4dd8c5af56bef9b78fbf8f4fbbc9
pg_exporter-1.0.0-1.x86_64.rpm Linuxamd64MD5 eba8426b2cf50a58db5353562727004a
pg_exporter-v1.0.0.darwin-amd64.tar.gz macOSamd64MD5 f691282245f9ef7e712b88985ca0da11
pg_exporter-v1.0.0.darwin-arm64.tar.gz macOSarm64MD5 c133c6077857edd500ab325bad4dc438
pg_exporter-v1.0.0.linux-amd64.tar.gz Linuxamd64MD5 3875487d26bcf9e9ec2e4dcb0c477ee0
pg_exporter-v1.0.0.linux-arm64.tar.gz Linuxarm64MD5 395715fbee8894baf0e9c173f8e1babd
pg-exporter_1.0.0_amd64.deb Linuxamd64MD5 f3b23e592f33587d0055984a6d9c2ef3
pg-exporter_1.0.0_arm64.deb Linuxarm64MD5 a7305b9c46f8a0d476c9835cc8f01dfe

16 - PG Exporter v0.9.0

TimescaleDB, Citus, pg_wait_sampling collectors

Default Collectors

  • new metrics collector for timescaledb hypertable
  • new metrics collector for citus dist node
  • new metrics collector for pg_wait_sampling wait event profile
  • pg_slot overhaul: Add 16/17 pg_replication_slot metrics
  • allow pg_slot collector run on replica since 16/17
  • refactor pg_wait collector to agg from all processes
  • restrict pg_clustering, pg_indexing, pg_vacuuming run on primary
  • mark all reset_time as GAUGE rather than COUNTER
  • fix pg_recovery_prefetch_skip_fpw type from GAUGE to COUNTER
  • fix pg_recv.state type from LABEL to GAUGE
  • Format collector in compact mode
  • new default metric pg_exporter_build_info / pgbouncer_exporter_build_info
  • add server_encoding to pg_meta collector
  • Added 12 pg_setting metrics: wal_block_size, segment_size, wal_segment_size, wal_level, work_memory_size, shared_memory_size, hugepage_count, hugepage_status, max_wal_size, min_wal_size, max_slot_wal_keep_size, archive_mode.

Exporter Codebase

  • normalize collector branch name with min pg ver suffix
  • Add license file to binary packages
  • Moved the repository from Vonng/pg_exporter to pgsty/pg_exporter.
  • refactor server.go to reduce Compatible and PostgresPrecheck complexity
  • rename metrics collector with extra number prefix for better sorting
  • Updated dependencies.
  • execute fatal collectors ahead of all non-fatal collectors, and fail fast

17 - PG Exporter v0.8.1

Dependencies update, docker image tags

Changes

18 - PG Exporter v0.8.0

PgBouncer 1.24 support, Go 1.24, logging refactor

Changes

  • Add PgBouncer 1.24 new metrics support (stat, pool, database)
  • Fix: 310-pg_size.yml fails if log dir not set properly #64 by @Süleyman Vurucu
  • Build with the latest Go 1.24 and bump all dependencies
  • Refactor logging with the standard log/slog instead of go-kit Full changelog

19 - PG Exporter v0.7.1

Routine update, configuration as Reader support

Changes

Routine update with dependabot

21 - PG Exporter v0.6.1

Security dependency updates and connection-timeout fix

Changes

  • Updated golang.org/x/net from v0.10.0 to v0.17.0 and golang.org/x/crypto to v0.17.0 for security fixes (#38 covers x/crypto)
  • Fix connect-timeout propagation (#37), contributed by @mouchar

Checksums

The original release published MD5 checksums for its archives and packages:

Download asset
FileChecksum
pg_exporter-v0.6.1.darwin-amd64.tar.gz macOSamd64MD5 107a67ca74b1d6e7bbe773694a48f6ab
pg_exporter-v0.6.1.darwin-arm64.tar.gz macOSarm64MD5 75b57566838c38092a9c45531c031561
pg_exporter-v0.6.1.linux-amd64.tar.gz Linuxamd64MD5 9e55128671b31dd28d6bca3d0429de8f
pg_exporter-v0.6.1.linux-arm64.tar.gz Linuxarm64MD5 68a8b9537f6deb1773d8bea9182bd613
pg-exporter_0.6.1_amd64.deb Linuxamd64MD5 0b0cd62c59cab6d1ab8772d820e599db
pg-exporter_0.6.1_arm64.deb Linuxarm64MD5 947126150b71081d0592d7f1fce0aaac
pg_exporter-0.6.1-1.aarch64.rpm Linuxarm64MD5 6a3608b965143441a5921d3017318146
pg_exporter-0.6.1-1.x86_64.rpm Linuxamd64MD5 b3c9f2edd28810cae81cd0edad9eae5d

22 - PG Exporter v0.6.0

PostgreSQL 16 support, ARM64 packages, security fixes

Changes

  • Updated dependencies to address reported vulnerabilities.
  • Added PostgreSQL 16 collectors and PostgreSQL 15 compatibility fixes (#35, @japinli).
  • Added ARM64 packages.
  • Removed the fixed monitor schema from pg_query queries. pg_stat_statements must be visible through search_path, such as when installed in public.
  • Accepted .yml as well as .yaml in configuration directories (#34, @japinli).
  • Changed PgBouncer version-parsing messages from info to debug level.
  • Added the missing relid column to pg_table_10_12.

23 - PG Exporter v0.5.0

RPM/DEB builds, column scaling, metrics enhancements

Exporter changes

  • Used nFPM to build RPM and DEB packages.
  • Added column.default to substitute a value for NULL.
  • Added column.scale to scale numeric values, such as microseconds to seconds.
  • Fixed /stat output.
  • Added the pgsty/pg_exporter Docker image.

Collector changes

  • Converted time metrics to seconds in pg_wal, pg_query, pg_db, pg_bgwriter, pg_ssl, and pgbouncer_stat.
  • Moved pg_class metrics into pg_table and pg_index.
  • Enabled pg_table_size by default.

24 - PG Exporter v0.4.1

Collector updates, connect-timeout parameter

Changes

  • Excluded Citus and TimescaleDB internal schemas from object monitoring.
  • Removed duplicate pg_statio rows.
  • Added PgBouncer 1.16 support.
  • Fixed overlapping pg_repl collector branches on PostgreSQL 12.
  • Added -T, --connect-timeout, and PG_EXPORTER_CONNECT_TIMEOUT to control connection timeouts, including for remote targets.
  • Renamed the RPM configuration file from pg_exporter.yaml to pg_exporter.yml.

25 - PG Exporter v0.4.0

PostgreSQL 14 support, auto-discovery feature

Changes

  • Added PostgreSQL 14 support.
  • Revised the default metric configuration while preserving support for older configuration files.
  • Added --auto-discovery, --include-database, and --exclude-database.
  • Added multi-database collection through automatic discovery.

26 - PG Exporter v0.3.2

Shadow DSN fixes, documentation updates

Changes

  • Fixed an edge case in redacted connection strings.
  • Corrected documentation and spelling errors.

27 - PG Exporter v0.3.1

Configuration fixes for older PostgreSQL versions

Changes

Fixed default-configuration errors, especially on PostgreSQL versions below 13:

  • Restricted primary_conninfo collection to the supported collector branch.
  • Added funcid to pg_func labels to distinguish functions with the same name.
  • Corrected the program name in version output to pg_exporter.

28 - PG Exporter v0.3.0

PostgreSQL 13 support, REST APIs, dummy server

Changes

  • Updated the default configuration for PostgreSQL 13 metrics, including pg_slru, pg_shmem, pg_query13, and pg_backup.
  • Added HTTP endpoints for health and recovery-state checks.
  • Added a startup HTTP server that reports pg_up 0 until initialization finishes.
  • Added sslmode=disable when the connection URL omits sslmode.
  • Fixed bugs and spelling errors.

29 - PG Exporter v0.2.0

YUM packages, configuration reload support

Changes

  • Added RPM packages for YUM and a Linux service definition.
  • Added the skip option to query configuration.
  • Fixed pgbouncer_up.
  • Added configuration reload support.

30 - PG Exporter v0.1.2

Dynamic configuration reload, bulky mode

Changes

  • Fixed pgbouncer_up.
  • Added dynamic configuration reload.
  • Removed shard-related logic.
  • Added a bulky mode to the default configuration.

31 - PG Exporter v0.1.1

Startup hang bug fix

Changes

  • Fixed a startup hang when a query failed.

32 - PG Exporter v0.1.0

Initial stable release

Changes

The first stable release.

33 - PG Exporter v0.0.5

Timeouts, fatal collectors, priority semantics, pg_up fixes, and per-collector documentation

This is an early repository tag without a separate GitHub Release object. This archival note is based on the tag commit and historical release summary.

Changes

  • Add per-collector query timeouts
  • Replace the earlier skip_error behavior with the fatal collector policy
  • Revise collector priority semantics
  • Fix the built-in pg_up metric
  • Add documentation for each bundled collector

34 - PG Exporter v0.0.4

Production tested release

Changes

Tested across more than 200 production nodes for about two weeks.

35 - PG Exporter v0.0.3

Production environment testing

Changes

Passed production testing while the project remained under active development.

36 - PG Exporter v0.0.2

Early testing release

Changes

An early version made available for trial use.

37 - PG Exporter v0.0.1

Initial release with PgBouncer mode

This early version has a Git tag but no separate GitHub Release. The note is based on the tag and historical release summary.

Changes

  • Added PgBouncer mode.