Release Notes
The latest stable version of pg_exporter is v1.5.0
| Version | Date | Summary | GitHub |
|---|---|---|---|
| v1.5.0 | 2026-10-23 | Connection safety, discovery, health and replication fixes; Go 1.27.3 | v1.5.0 |
| v1.4.1 | 2026-07-29 | Subscription count and label validation fixes; RPM rename | v1.4.1 |
| v1.4.0 | 2026-07-18 | Snapshot histograms, pg_xact_age collector, HTTP hardening | v1.4.0 |
| v1.3.0 | 2026-06-24 | PostgreSQL 19 support, new PG19 collectors and branches | v1.3.0 |
| v1.2.2 | 2026-04-14 | Routine Go 1.26.2 refresh, no functional changes | v1.2.2 |
| v1.2.1 | 2026-03-21 | Config style cleanup, Go 1.26.1 refresh | v1.2.1 |
| v1.2.0 | 2026-02-12 | Hot reload, non-blocking startup, PG9.x legacy support | v1.2.0 |
| v1.1.2 | 2026-01-16 | fix pg_timeline conf issue, build with latest deps | v1.1.2 |
| v1.1.1 | 2025-12-30 | New pg_timeline collector, pg_sub_16 branch, bug fixes | v1.1.1 |
| v1.1.0 | 2025-12-15 | Update default metrics collectors, bump to go 1.25.5 | v1.1.0 |
| v1.0.3 | 2025-11-20 | Routine update on 1.25.4, fix unsupported libpq env | v1.0.3 |
| v1.0.2 | 2025-08-14 | Build for more os arch with goreleaser | v1.0.2 |
| v1.0.1 | 2025-07-17 | DockerHub images, Go 1.24.5, disable pg_tsdb_hypertable | v1.0.1 |
| v1.0.0 | 2025-05-06 | PostgreSQL 18 support, new WAL/checkpointer/I/O metrics | v1.0.0 |
| v0.9.0 | 2025-04-26 | TimescaleDB, Citus, pg_wait_sampling collectors | v0.9.0 |
| v0.8.1 | 2025-02-14 | Dependencies update, docker image tags | v0.8.1 |
| v0.8.0 | 2025-02-14 | PgBouncer 1.24 support, Go 1.24, logging refactor | v0.8.0 |
| v0.7.1 | 2024-12-29 | Routine update, configuration as Reader support | v0.7.1 |
| v0.7.0 | 2024-08-13 | PostgreSQL 17 support, predicate queries feature | v0.7.0 |
| v0.6.0 | 2023-10-18 | PostgreSQL 16 support, ARM64 packages, security fixes | v0.6.0 |
| v0.5.0 | 2022-04-27 | RPM/DEB builds, column scaling, metrics enhancements | v0.5.0 |
| v0.4.1 | 2022-03-08 | Collector updates, connect-timeout parameter | v0.4.1 |
| v0.4.0 | 2021-07-12 | PostgreSQL 14 support, auto-discovery feature | v0.4.0 |
| v0.3.2 | 2021-02-01 | Shadow DSN fixes, documentation updates | v0.3.2 |
| v0.3.1 | 2020-12-04 | Configuration fixes for older PostgreSQL versions | v0.3.1 |
| v0.3.0 | 2020-10-29 | PostgreSQL 13 support, REST APIs, dummy server | v0.3.0 |
| v0.2.0 | 2020-03-21 | YUM packages, configuration reload support | v0.2.0 |
| v0.1.2 | 2020-02-20 | Dynamic configuration reload, bulky mode | v0.1.2 |
| v0.1.1 | 2020-01-10 | Startup hang bug fix | v0.1.1 |
| v0.1.0 | 2020-01-08 | Initial stable release | v0.1.0 |
| v0.0.4 | 2019-12-20 | Production tested release | v0.0.4 |
| v0.0.3 | 2019-12-14 | Production environment testing | v0.0.3 |
| v0.0.2 | 2019-12-09 | Early testing release | v0.0.2 |
| v0.0.1 | 2019-12-06 | Initial release with PgBouncer mode | v0.0.1 |
v1.5.0
Release date: 2026-10-23. This release improves connection security, collection accuracy, and runtime state consistency, and upgrades the build toolchain to Go 1.27.3.
Fixes and Improvements
- Validate PostgreSQL URLs and query parameters strictly. Reject malformed escapes and parameter names containing whitespace or
=. Safe diagnostics prevent malformed connection strings from leaking passwords into logs or silently discarding explicit TLS settings. An empty or whitespace-only file selected throughPG_EXPORTER_URL_FILEnow prevents startup. - Resolve database identities with
lib/pq. Auto-discovery removes conflictingdbname/databasequery parameters when replacing a database name and preserves special characters, fixing duplicate collection and HTTP 500 responses caused by duplicate metrics. - Generate each health response’s HTTP status and body from one atomic state snapshot, fixing contradictory responses during concurrent state transitions. Health checks still use background cached state.
- Replan after a successful precheck detects changes to the username, schemas, or extensions. Unchanged metadata preserves plans and caches. Adding or removing a schema or extension no longer requires manual reload.
- Reject NaN, infinities, and overflowing TTLs or positive timeouts during configuration loading. Preserve the existing meanings of zero TTL (disable caching), zero timeout (use the default), and finite negative timeout (disable the deadline).
- Verify at startup that the active HTTP mux routes the metrics path to the metrics handler. Reject escaped paths that would return the landing page or a redirect under the legacy mux.
- Add the owning database’s
datnamelabel topg_sub_*, preventing collisions between identically named subscriptions in different databases. Correctpg_recv_statecodes in the current and legacy bundles, and fix receiver address extraction on PostgreSQL 9.6. - Clarify
pg_originpermissions, the table scope ofpg_pubrel_count, synchronization states and PostgreSQL 19 sequence semantics inpg_subrel_count, and thepg_backenddescription.
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.
Upgrade Notes
- On PostgreSQL 10–13, an administrator must run
GRANT SELECT (oid) ON pg_catalog.pg_subscription TO monitor;in the exporter’s main connection database, substituting the actual monitoring role. This does not exposesubconninfo. PostgreSQL 14+ needs no extra grant under standard catalog ACLs. - The new
datnamelabel onpg_sub_*creates new time series. Review PromQL joins, aggregations, and alerts that match these labels. Thepg_sub_idgauge is retained. pg_recv_stateuses the following codes; 1–3 remain reserved. No receiver row means no sample. PostgreSQL 9.6 still hides receiver details from ordinary monitoring roles, resulting in an unknown state; the exporter does not expand database privileges.
| State | Code | State | Code |
|---|---|---|---|
| streaming | 0 | starting | 6 |
| stopping | 4 | waiting | 7 |
| connecting (PG19+) | 5 | restarting | 8 |
| unknown / NULL | -1 | stopped | 9 |
- Upgrade both the binary and collector configuration. Packages preserve local configuration changes: merge the new
pg_exporter.yml, then check query error counters in/metrics. HTTP 200 alone does not establish a successful scrape. - Reloading empty YAML still clears collectors, and directory loading still permits valid files to load when others fail. SIGTERM retains immediate process termination; it does not wait for active scrapes to complete.
Toolchain and Validation
Retain lib/pq 1.12.3 and upgrade Prometheus client_golang to 1.25.0, common to 0.72.1, and exporter-toolkit to 0.20.0. YAML uses go.yaml.in/yaml/v3 3.0.5. The PostgreSQL driver remains lib/pq.
The default bundle still contains 58 YAML files, 96 branches, 59 namespaces, and 460 distinct metric definitions, including two unexpanded histograms. Validation covered non-superuser collection on PostgreSQL 9.1–9.6, 10–18, 19 RC1, and PgBouncer 1.26.1; physical standby promotion, reloads, disconnect recovery, races, both HTTP mux modes, six-platform builds, ARM64 RPM/DEB installation, and Docker images. PostgreSQL 19 testing used RC1; this does not cover every extension or production workload.
Go and Dependency Security Updates
Go 1.27.3 adds a blocklist for untrusted intermediate certificates in crypto/x509, addressing CVE-2026-111943. It also includes security fixes accumulated since the previous Go 1.26.5 build, including TLS issues CVE-2026-56862 and CVE-2026-97031, HTTP issues CVE-2026-56853 and CVE-2026-94439, and template, ASN.1, and multipart fixes. See the complete upstream scope in the Go 1.26.6, Go 1.27.2, and Go 1.27.3 announcements.
golang.org/x/net moves from 0.57.0 to 0.61.0, including five HTTP/2 fixes introduced in 0.60.0:
| CVE | Fix |
|---|---|
| CVE-2026-78659 | Memory amplification through Trailer headers |
| CVE-2026-78669 | CPU consumption through window updates |
| CVE-2026-78663 | Duplicate flow-control credit refunds |
| CVE-2026-97032 | HPACK encoder race and crash |
| CVE-2026-78660 | Malformed framing response headers |
x/crypto 0.58.0 also crosses the fixes for SSH issues CVE-2026-56854, CVE-2026-56855, and CVE-2026-78662. x/text 0.43.0 includes the precis fix CVE-2026-56851. The exporter does not import these SSH/precis packages; these are dependency-version updates, not confirmed exporter runtime vulnerabilities.
Comparative govulncheck runs on 2026-10-23 found no known symbol-level or imported-package-level vulnerabilities in the new candidate for Darwin, Linux, or Windows. The unimported OpenPGP package retains a module-level advisory, GO-2026-5932. Static symbol matches are not exploit reproductions, and including upstream fixes does not establish that every issue was exploitable in the exporter. Other dependency upgrades are maintenance updates. Install the rebuilt release binary; upgrading Go on the host does not change an existing binary.
For the full CVE table, first fixed versions, and scan levels, see the security update verification.
GitHub release · SHA256 checksums · Full changelog · Complete collector reference
v1.4.1
v1.4.1 is a maintenance release focused on metric accuracy and RPM upgrade compatibility.
Highlights:
- Fix
pg_subrel_countovercounting with parallel logical replication apply workers. Deduplicatepg_stat_subscriptionby subscription ID and name before aggregating subscription relation states. - If a query result omits a configured
LABELcolumn, fail the entire collector scrape. Do not emit an empty label or keep stale results. Other non-fatal collectors continue normally. - Rename the official RPM package and artifact prefix from
pg_exportertopg-exporter. The new package provides and obsoletes the legacy name to support direct upgrades. - Update version and standalone package metadata. Add regression tests for missing labels. Validate RPM configuration, artifact names, and compatibility metadata in CI.
Upgrade Notes:
- Custom collector SQL must return every
LABELcolumn. The result schema must be complete even if the query returns zero rows. - If automation matches GitHub RPM file names directly, change
pg_exporter-*.rpmtopg-exporter-*.rpm.
https://github.com/pgsty/pg_exporter/releases/tag/v1.4.1
v1.4.0
v1.4.0 adds Snapshot Histogram metrics and the pg_xact_age transaction age collector.
It also improves HTTP routing, packaging, and the build toolchain.
New Features:
- Add the
HISTOGRAMcolumn type. It aggregates SQL snapshots by label group into classic Prometheus histograms with_bucket/_count/_sumseries. Configuration loading validates finite bucket bounds in strictly increasing order and appends+Infautomatically. Thelelabel is reserved. Hot reload is supported. - Add the
pg_xact_agecollector. It returns open transaction age (pg_xact_age_seconds) and idle-in-transaction age (pg_xact_age_idle_seconds) as histograms. It collects cluster-level data from client backends only, with a 10s TTL. - Increase the default bundle from 57 to 58 definition files. Assign
pg_xact_ageto slot0450. Renumberpg_lock/pg_lock_stat/pg_queryto0460/0470/0480without content changes.
Fixes & Improvements:
- Register HTTP routes in a private ServeMux instead of the global
DefaultServeMux. This prevents accidental exposure of endpoints from third-party libraries. - Validate
--web.telemetry-pathat startup. Reject empty paths, paths without a leading/, paths with?#{}, and conflicts with built-in endpoints. Also reject non-canonical paths such as//metrics, which cannot match requests. Each failure returns a clear error immediately. - Escape the telemetry path in the landing page HTML.
- Close the primary connection pool if the
--fail-fastpre-check fails. - Fix RPM / DEB packaging (#105). Set the
prometheususer’s HOME to/var/lib/prometheus, where libpq looks for~/.pgpass. Add/postgresto the packaged default URL. This prevents libpq from using a database named after the OS user. - Use the
vversion prefix consistently. Official release binaries reportv1.4.0in--version,/version, andpg_exporter_build_info{version=...}. GoReleaser artifacts previously reported1.3.0without the prefix. Artifact file names, package versions, and Docker image tag conventions do not change. - Apply the same value conversion rules to histograms and scalar columns. Exclude timestamps and booleans from
scale. - Correct GoReleaser package metadata to show support for PostgreSQL
9.x - 19+and pgBouncer1.8 - 1.25+. - Restore
GOPROXY/GOSUMDBbuild-argument passthrough inmake docker.
Engineering & Build:
- Update the build toolchain to Go
1.26.5, exporter-toolkitv0.17.1, and prometheus/commonv0.70.0. - Add regular CI checks for module tidy, generated configuration, race tests, and six-platform cross-builds. The
make confoutput must matchconfig/*.yml. - Remove the
docker/scripts andmake docker-release. Use GoReleaser to build multi-architecture release images. - Remove assumptions about specific collectors from configuration coverage tests. This makes smaller custom bundles easier to maintain.
Upgrade Notes:
- A non-canonical telemetry path, such as
//metrics, now prevents startup. Previously, the process started but the metrics endpoint was unreachable. - Update automation that parses the
versionlabel ofpg_exporter_build_infoor the--versionoutput to accept thevprefix. - If any collector uses
HISTOGRAM, do not useleas a constant label.
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.4.0/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.4.0
v1.3.0
v1.3.0 adds PostgreSQL 19 support.
It also updates the default collectors, build toolchain, and configuration coverage tests.
Highlights:
- Default support range extended from PostgreSQL 10-18+ to 10-19+
- Default config bundle includes 57
config/*.ymldefinition files - Build dependencies updated to Go
1.26.4,lib/pq v1.12.3, Prometheus clientv1.23.2, and exporter-toolkitv0.16.0 pg_recovery_state: collectpg_stat_recoveryon recovery nodes, exposing promotion trigger status, replay LSN, timeline, recovery transaction time, and pause statepg_lock_stat: collect PG19pg_stat_lock, exposing waits, wait time, and fast-path overflow counts bylocktypepg_vacuum_score: collect the current-database summary frompg_stat_autovacuum_scores, exposing max autovacuum score and candidate table countpg_wal_19: exposewal_fpi_byteson PG19 aspg_wal_fpi_bytespg_sub_19: adapt sequence sync and logical replication conflict stats frompg_stat_subscription_stats, while keepingsync_error_countfor legacy dashboardspg_recv: recognize the PG13+ WAL receiverconnectingstate on PG19pg_slot: recognize the PG19 replication slot invalidation reasonidle_timeoutpg_db_confl: switch to an explicit column list to avoid accidentally exporting future view columnspg_backup,pg_vacuuming, andpg_clusteringcontinue reusing stable existing branches instead of changing the metric surface for low-value PG19 fields
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.3.0/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.3.0
v1.2.2
v1.2.2 updates the release toolchain to Go 1.26.2.
This maintenance release has no changes to collectors, configuration behavior, or runtime behavior.
Highlights
- Refresh the release toolchain: bump release builds to Go
1.26.2 - No functional changes: collector behavior, default configs, metric definitions, and runtime semantics remain unchanged
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.2.2/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.2.2
v1.2.1
v1.2.1 is a maintenance release for release engineering, configuration package consistency, documentation, and metadata.
It has no changes to collector or runtime behavior.
Highlights
- Refresh the build toolchain: bump both release workflows and Docker build images to Go
1.26.1 - Standardize config style: switch inline
descriptionvalues in both current and legacy configs to double-quoted form, and regenerate mergedpg_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 pgBouncer1.8 - 1.25+, and refresh Pigsty documentation links
Checksums
https://github.com/pgsty/pg_exporter/releases/tag/v1.2.1
v1.2.0
v1.2.0 improves stability and compatibility for startup, hot reload, health probes, configuration validation, and legacy support.
New Features:
- Improve hot reload. Support platform-specific signals (
SIGHUP/SIGUSR1) and improvePOST /reloadto update configuration and query plans without a restart. - Use non-blocking startup. HTTP endpoints start even if the target precheck fails. This improves recovery and monitoring integration.
- Add a legacy configuration bundle for PostgreSQL 9.1-9.6. Use
legacy/and themake conf9target to configure monitoring for EOL versions. - Use cached health snapshots with periodic probes. This improves consistency for role-based health endpoints and reloads.
- Add
go testandgo vetto release workflows. Update the build toolchain to Go 1.26.0.
Bug Fixes:
- Fix configuration parsing cases. Reject malformed metric entries, return explicit errors if a configuration directory has no valid YAML, and improve runtime fallbacks.
- Fix CLI boolean parsing for arguments such as
--flag=false. - Fix
/explainoutput with corrected content types and safer template rendering. - Improve predicate queries and PG URL handling. Improve BOOL/BOOLEAN support, row resource handling, and
dbnamequery-parameter parsing and redaction. - Close connections asynchronously when auto-discovery removes a target.
- Fix metric and label validation. Check constant-label conflicts, scaled default values, and Prometheus naming rules.
Checksums
https://github.com/pgsty/pg_exporter/releases/tag/v1.2.0
v1.1.2
This minor release fixes the pg_timeline configuration and builds with the latest Go dependencies.
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.1.2/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.1.2
v1.1.1
Minor release with new collectors and bug fixes.
New Features:
- New
pg_timelinecollector for timeline monitoring - New
pg_sub_16collector branch to exclude parallel operations in subscriptions (PostgreSQL 16+ compatibility)
Bug Fixes:
- Fix: Add coalesce for slotname in
pg_recvcollector to handle NULL values
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.1.1/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.1.1
v1.1.0
Build with Go 1.25.5 and latest dependencies, collector updates:
Collector Changes:
pg_setting: update PG10-18 compatibility and addmissing_oksupport.- Add 13 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_sizetowork_mem. - Change min_version from 9.6 to 10. Use explicit
::inttype conversion.
- Add 13 new metrics:
pg_size: fix log directory size detection. Checklogging_collectorinstead of matching path patterns.pg_table: replace LATERAL subqueries with JOIN to improve performance. Changetuplesandfrozenxidfrom COUNTER to GAUGE. Increase the timeout from 1s to 2s.pg_vacuuming: add a PG17 branch withindexes_total,indexes_processed, anddead_tuple_bytesto track index vacuum progress.pg_query: increase the timeout from 1s to 2s for high-load conditions.pg_io: correct thereusesdescription from “in reused” to “is reused”.pg_checkpointer: correct the pg_checkpointer_10 description from “9.4+” to “9.4-17”.pg_db_confl: correct the pg_db_confl_15 description from “9.1 - 16” to “9.1 - 15”.- Correct format alignment for
pg_db,pg_indexing,pg_clustering, andpg_backup.
Other Changes:
- Fix release year by @anayrat
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.1.0/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.1.0
v1.0.3
- Build with Go 1.25.4 and latest dependencies
- Fix #80 Conflict with libpq env variables
- Change default value of
auto-discoverytotrueby @kadaffy
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.0.3/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.3
v1.0.2
- Build with Go 1.25.0 and the latest dependencies.
- Add a dedicated website and homepage: https://exp.pgsty.com
- Use GoReleaser and CI/CD to release for more operating systems and architectures:
- Add Windows amd64 support.
- Add Linux ppc64le support.
Checksums
https://github.com/pgsty/pg_exporter/releases/download/v1.0.2/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.2
v1.0.1
- Add dockerhub images: pgsty/pg_exporter
- Update Go dependencies to the latest version. Build with Go 1.24.5
- Disable
pg_tsdb_hypertableby default because thetimescaledbcatalog has changed.
Checksums
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.1
v1.0.0
Add PostgreSQL 18 metrics support
- new collector branch
pg_wal_18: - remove
write,sync,write_time,sync_timemetrics - move to
pg_stat_io - new collector branch
pg_checkpointer_18: - new metric
num_done - new metric
slru_written - new collector branch
pg_db_18: - new metric
parallel_workers_to_launch - new metric
parallel_workers_launched - new collector branch
pg_table_18: table_parallel_workers_to_launchtable_parallel_workers_launched- new collector branch
pg_io_18: - new series about WAL statistics
- new metric
read_bytes - new metric
write_bytes - new metric
extend_bytes - remove
op_bytesdue to fixed value - new collector branch
pg_vacuuming_18 - new metric
delay_time
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.0
v0.9.0
Default Collectors
- new metrics collector for
timescaledbhypertable - new metrics collector for
citusdist node - new metrics collector for
pg_wait_samplingwait event profile pg_slotoverhaul: Add 16/17 pg_replication_slot metrics- allow
pg_slotcollector run on replica since 16/17 - refactor
pg_waitcollector to agg from all processes - restrict pg_clustering, pg_indexing, pg_vacuuming run on primary
- mark all
reset_timeasGAUGErather thanCOUNTER - fix
pg_recovery_prefetch_skip_fpwtype fromGAUGEtoCOUNTER - fix
pg_recv.statetype fromLABELtoGAUGE - Format collector in compact mode
- new default metric
pg_exporter_build_info/pgbouncer_exporter_build_info - add
server_encodingtopg_metacollector - add 12 new setting metrics to
pg_settingcollector
- wal_block_size
- segment_size
- wal_segment_size
- wal_level
- wal_log_hints
- work_mem
- hugepage_count
- hugepage_status
- max_wal_size
- min_wal_size
- max_slot_wal_keep_size
Exporter Codebase
- normalize collector branch name with min pg ver suffix
- Add license file to binary packages
- move
pgsty/pg_exporterrepo topgsty/pg_exporter - refactor
server.goto reduceCompatibleandPostgresPrecheckcomplexity - rename metrics collector with extra number prefix for better sorting
- bump dependencies to the latest version
- execute fatal collectors ahead of all non-fatal collectors, and fail fast
https://github.com/pgsty/pg_exporter/releases/tag/v0.9.0
v0.8.1
- Bump dependencies to the latest version
- Bump golang.org/x/net from 0.35.0 to 0.36.0 #67
- Update docker images building tags
https://github.com/pgsty/pg_exporter/releases/tag/v0.8.1
v0.8.0
- Add PgBouncer 1.24 new metrics support (stat, pool, database)
- Fix:
310-pg_size.ymlfails 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/sloginstead ofgo-kit - Full Changelog: https://github.com/pgsty/pg_exporter/compare/v0.7.1...v0.8.0
https://github.com/pgsty/pg_exporter/releases/tag/v0.8.0
v0.7.1
Routine update with dependabot
- Feat: support specifying configuration as Reader by @ringerc in #62
- Bump golang.org/x/crypto from 0.21.0 to 0.31.0 by @dependabot in #63
- Fix some typos
- Full Changelog: https://github.com/pgsty/pg_exporter/compare/v0.7.0...v0.7.1
https://github.com/pgsty/pg_exporter/releases/tag/v0.7.1
v0.7.0
Refactor the codebase for the latest Go version.
- PostgreSQL 17 Metrics Support by @Vonng
- pg_exporter: predicate queries feature by @ringerc
- Do a clean build in the dockerfile by @ringerc by @ringerc
- pg_exporter: don’t panic after “bind: address already in use” by @ringerc
- pg_exporter: fix /stat endpoint formatting by @ringerc
- pg_exporter: omit default query properties on yaml export by @ringerc
- Exclude template DBs from discovery and schema-qualify discovery query by @ringerc
- Fix some typos and some metric description mistakes by @ringerc
- Switch from unmaintained lib/pq driver to pgx with stdlib wrapper by @ringerc
https://github.com/pgsty/pg_exporter/releases/tag/v0.7.0
v0.6.0
Fix Dependabot security issues.
Add pg16 collectors.
Add
arm64&aarch64packages.Remove the
monitorschema requirement forpg_querycollectors. Set search_path to findpg_stat_statements, or install it in the defaultpublicschema.Change the pgBouncer version parsing message level from info to debug.
Fix the missing
relidin thepg_table_10_12collector.Recognize the files with yml suffix in config directory by @Japin Li
https://github.com/pgsty/pg_exporter/releases/tag/v0.6.0
v0.5.0
Exporter Enhancement
- Build rpm & deb with
nfpm - Add
column.default, replace when metric value is NULL - Add
column.scaleto multiply float/int values by a scale factor, such as conversion from µs to seconds - Fix
/statendpoint output - Add docker container
pgsty/pg_exporter
Metrics Collector
- scale bgwriter & pg_wal time unit to second
- remove pg_class collector and move it to pg_table & pg_inex
- add pg_class metrics to pg_table
- add pg_class metrics to pg_index
- enable pg_table_size by default
- scale pg_query pg_db pg_bgwriter pg_ssl pgbouncer_stat time metrics to second
https://github.com/pgsty/pg_exporter/releases/tag/v0.5.0
v0.4.1
- Update default collectors:
- Exclude citus & timescaledb schemas from object monitoring.
- Prevent duplicate pg_statio tuples.
- Support pgBouncer v1.16.
- Fix overlapping
pg_replcollectors on pg 12.
- Add the
-Tconnect-timeoutPG_EXPORTER_CONNECT_TIMEOUTparameter for remote PostgreSQL monitoring. - Rename
pg_exporter.yamltopg_exporter.ymlin the RPM package.
https://github.com/pgsty/pg_exporter/releases/tag/v0.4.1
v0.4.0
- Add PG 14 support
- Update the default metrics configuration. The old configuration remains supported
- add
auto-discovery,include-databaseandexclude-databaseoption - Add multiple database monitoring implementations (with
auto-discovery = on)
https://github.com/pgsty/pg_exporter/releases/tag/v0.4.0
v0.3.2
- fix shadow DSN corner case
- fix typo & docs
https://github.com/pgsty/pg_exporter/releases/tag/v0.3.2
v0.3.1
Fix default configuration errors, particularly for versions before 13.
- Account for the
primary_conninfosetting being available only from PG13. - Add the
funcidlabel topg_functo prevent duplicate labels from function names. - Fix the version string to
pg_exporter.
https://github.com/pgsty/pg_exporter/releases/tag/v0.3.1
v0.3.0
https://github.com/pgsty/pg_exporter/releases/tag/v0.3.0
- Update the default configuration to support PostgreSQL 13 metrics, including
pg_slru,pg_shmem,pg_query13, andpg_backup. - Add REST APIs for health and recovery status checks.
- Add a dummy server that returns
pg_up 0before PgExporter initialization. - Add
sslmode=disableto the URL ifsslmodeis absent. - Fix typos and bugs.
v0.2.0
- add yum package and linux service definition
- add a ‘skip’ flag into query config
- fix
pgbouncer_upmetrics - add conf reload support
https://github.com/pgsty/pg_exporter/releases/tag/v0.2.0
v0.1.2
- fix pgbouncer_up metrics
- add dynamic configuration reload
- remove ‘shard’ related logic
- add a ‘bulky’ mode to default settings
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.2
v0.1.1
Fix a startup hang that occurs if any query fails.
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.1
v0.1.0
This is the first stable release.
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.0
v0.0.4
This release passed production tests on 200+ nodes for about 2 weeks.
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.4
v0.0.3
v0.0.3 passed production tests.
This version is already tested in a production environment.
The project changes rapidly. Use this version with caution in production.
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.3
v0.0.2
This version is ready for testing.
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.2
v0.0.1
Add pgBouncer mode
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.1
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)