This is the multi-page printable view of this section. .
Release Notes
- 1: PG Exporter v1.4.1
- 2: PG Exporter v1.4.0
- 3: PG Exporter v1.3.0
- 4: PG Exporter v1.2.2
- 5: PG Exporter v1.2.1
- 6: PG Exporter v1.2.0
- 7: PG Exporter v1.1.2
- 8: PG Exporter v1.1.1
- 9: PG Exporter v1.1.0
- 10: PG Exporter v1.0.3
- 11: PG Exporter v1.0.2
- 12: PG Exporter v1.0.1
- 13: PG Exporter v1.0.0
- 14: PG Exporter v0.9.0
- 15: PG Exporter v0.8.1
- 16: PG Exporter v0.8.0
- 17: PG Exporter v0.7.1
- 18: PG Exporter v0.7.0
- 19: PG Exporter v0.6.1
- 20: PG Exporter v0.6.0
- 21: PG Exporter v0.5.0
- 22: PG Exporter v0.4.1
- 23: PG Exporter v0.4.0
- 24: PG Exporter v0.3.2
- 25: PG Exporter v0.3.1
- 26: PG Exporter v0.3.0
- 27: PG Exporter v0.2.0
- 28: PG Exporter v0.1.2
- 29: PG Exporter v0.1.1
- 30: PG Exporter v0.1.0
- 31: PG Exporter v0.0.5
- 32: PG Exporter v0.0.4
- 33: PG Exporter v0.0.3
- 34: PG Exporter v0.0.2
- 35: PG Exporter v0.0.1
This archive covers all 35 repository tags, from v0.0.1 to v1.4.1, with one English and Chinese note per version.
Of these versions, 33 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.4.1
v1.4.1 is a maintenance release focused on metric accuracy and RPM upgrade compatibility.
Highlights
- Fix
pg_subrel_countovercounting when parallel logical replication apply workers are active: deduplicatepg_stat_subscriptionby subscription ID and name before aggregating subscription relation states - If a query result omits a configured
LABELcolumn, 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_exportertopg-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
LABELcolumn; the result schema must remain complete even when the query returns zero rows - If automation matches GitHub RPM file names directly, update
pg_exporter-*.rpmtopg-exporter-*.rpm
2 - PG Exporter v1.4.0
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
HISTOGRAMcolumn type: SQL observations are grouped by labels into snapshot distributions. The_bucket,_count, and_sumfamilies are Gauges. Bucket bounds must be finite and strictly increasing;+Infis added automatically. Thelelabel is reserved, and reload replaces the bucket layout - New
pg_xact_agecollector: 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_agetakes slot0450, withpg_lock/pg_lock_stat/pg_queryrenumbered to0460/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-pathis strictly validated at startup: empty paths, paths not starting with/, paths containing?#{}, conflicts with built-in endpoints, and non-canonical paths like//metricsthat 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-fastpre-check fails - RPM / DEB packaging fixes (#105): the
prometheussystem user’s HOME now points to/var/lib/prometheus(where libpq looks for~/.pgpass), and the packaged default URL gains the/postgresdatabase name so libpq no longer falls back to a database named after the OS user - Version string unified with the
vprefix:--versionoutput, the/versionendpoint, and thepg_exporter_build_info{version=...}label of official release binaries now reportv1.4.0(GoReleaser artifacts previously reported unprefixed1.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 PgBouncer1.8 - 1.25+ make dockerrestoresGOPROXY/GOSUMDBbuild-arg passthrough
Engineering & Build
- Build toolchain updated to Go
1.26.5, exporter-toolkitv0.17.1, and prometheus/commonv0.70.0 - New regular CI verification workflow: module tidy check, generated-config drift check (
make confoutput must stay in sync withconfig/*.yml), race tests, and six-platform cross-builds - Docker build tooling consolidated: the
docker/scripts andmake docker-releaseare 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
versionlabel ofpg_exporter_build_infoor the--versionoutput needs to accommodate thevprefix -
When any
HISTOGRAMcollector is configured,lecan no longer be used as a constant label -
Query snapshot buckets directly with
histogram_quantile(); do not applyrate()orincrease(). See snapshot Histogram semantics.
Checksums
3 - PG Exporter v1.3.0
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/*.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
4 - PG Exporter v1.2.2
v1.2.2 updates release builds to Go 1.26.2. Exporter features and configuration are unchanged.
Checksums
5 - PG Exporter v1.2.1
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
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
6 - PG Exporter v1.2.0
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 strengthenPOST /reloadto 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 amake conf9target 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 testandgo vetin 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=falsestyle arguments - Fix
/explainoutput/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
dbnamequery-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
7 - PG Exporter v1.1.2
Fixed the pg_timeline configuration and updated Go dependencies.
Checksums
8 - PG Exporter 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
9 - PG Exporter v1.1.0
Updated dependencies and built with Go 1.25.5.
Collector Changes
pg_setting: Major refactor for PG10-18 compatibility withmissing_oksupport- 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_sizetowork_mem - Change min_version from 9.6 to 10, explicit
::inttype casting
- Add 15 new metrics:
pg_size: Fix log directory size detection, uselogging_collectorcheck instead of path pattern matchingpg_table: Performance optimization, replace LATERAL subqueries with JOIN for better query performance; fixtuplesandfrozenxidmetric type from COUNTER to GAUGE; increase timeout from 1s to 2spg_vacuuming: Add PG17 collector branch with new metricsindexes_total,indexes_processed,dead_tuple_bytesfor index vacuum progress trackingpg_query: Increase timeout from 1s to 2s for high-load scenariospg_io: Fix typo inreusesdescription (“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
- Fix release year by @anayrat
Checksums
10 - PG Exporter v1.0.3
- Updated dependencies and built with Go 1.25.4.
- Fix #80 Conflict with libpq env variables
- Change default value of
auto-discoverytotrueby @kadaffy
Checksums
11 - PG Exporter v1.0.2
- 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
12 - PG Exporter v1.0.1
- Add Docker Hub images: pgsty/pg_exporter
- Updated Go dependencies and built with Go 1.24.5.
- Disable
pg_tsdb_hypertablecollector by default, sincetimescaledbcatalog is changed.
Checksums
13 - PG Exporter v1.0.0
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:
14 - PG Exporter 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
- Added 12
pg_settingmetrics: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_exportertopgsty/pg_exporter. - refactor
server.goto reduceCompatibleandPostgresPrecheckcomplexity - rename metrics collector with extra number prefix for better sorting
- Updated dependencies.
- execute fatal collectors ahead of all non-fatal collectors, and fail fast
15 - PG Exporter v0.8.1
Changes
- Updated dependencies.
- Bump golang.org/x/net from 0.35.0 to 0.36.0 #67
- Update docker images building tags
16 - PG Exporter v0.8.0
Changes
- 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-kitFull changelog
17 - PG Exporter v0.7.1
Changes
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
18 - PG Exporter v0.7.0
Changes
Updated the codebase for Go 1.22.4.
-
PostgreSQL 17 Metrics Support by @Vonng
-
pg_exporter: don’t panic after “bind: address already in use” 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
-
The proposed pgx driver migration (#52, @ringerc) was reverted before release. This tag uses
lib/pq. -
Added PgBouncer 1.23 metrics (source commit).
-
Corrected log caller attribution (#55, @ulysseskk).
19 - PG Exporter v0.6.1
Changes
- Updated
golang.org/x/netfromv0.10.0tov0.17.0andgolang.org/x/cryptotov0.17.0for security fixes (#38 coversx/crypto) - Fix
connect-timeoutpropagation (#37), contributed by @mouchar
Checksums
The original release published MD5 checksums for its archives and packages:
20 - PG Exporter v0.6.0
Changes
- Updated dependencies to address reported vulnerabilities.
- Added PostgreSQL 16 collectors and PostgreSQL 15 compatibility fixes (#35, @japinli).
- Added ARM64 packages.
- Removed the fixed
monitorschema frompg_queryqueries.pg_stat_statementsmust be visible throughsearch_path, such as when installed inpublic. - Accepted
.ymlas well as.yamlin configuration directories (#34, @japinli). - Changed PgBouncer version-parsing messages from info to debug level.
- Added the missing
relidcolumn topg_table_10_12.
21 - PG Exporter v0.5.0
Exporter changes
- Used nFPM to build RPM and DEB packages.
- Added
column.defaultto substitute a value for NULL. - Added
column.scaleto scale numeric values, such as microseconds to seconds. - Fixed
/statoutput. - Added the
pgsty/pg_exporterDocker image.
Collector changes
- Converted time metrics to seconds in
pg_wal,pg_query,pg_db,pg_bgwriter,pg_ssl, andpgbouncer_stat. - Moved
pg_classmetrics intopg_tableandpg_index. - Enabled
pg_table_sizeby default.
22 - PG Exporter v0.4.1
Changes
- Excluded Citus and TimescaleDB internal schemas from object monitoring.
- Removed duplicate
pg_statiorows. - Added PgBouncer 1.16 support.
- Fixed overlapping
pg_replcollector branches on PostgreSQL 12. - Added
-T,--connect-timeout, andPG_EXPORTER_CONNECT_TIMEOUTto control connection timeouts, including for remote targets. - Renamed the RPM configuration file from
pg_exporter.yamltopg_exporter.yml.
23 - PG Exporter v0.4.0
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.
24 - PG Exporter v0.3.2
Changes
- Fixed an edge case in redacted connection strings.
- Corrected documentation and spelling errors.
25 - PG Exporter v0.3.1
Changes
Fixed default-configuration errors, especially on PostgreSQL versions below 13:
- Restricted
primary_conninfocollection to the supported collector branch. - Added
funcidtopg_funclabels to distinguish functions with the same name. - Corrected the program name in version output to
pg_exporter.
26 - PG Exporter v0.3.0
Changes
- Updated the default configuration for PostgreSQL 13 metrics, including
pg_slru,pg_shmem,pg_query13, andpg_backup. - Added HTTP endpoints for health and recovery-state checks.
- Added a startup HTTP server that reports
pg_up 0until initialization finishes. - Added
sslmode=disablewhen the connection URL omitssslmode. - Fixed bugs and spelling errors.
27 - PG Exporter v0.2.0
Changes
- Added RPM packages for YUM and a Linux service definition.
- Added the
skipoption to query configuration. - Fixed
pgbouncer_up. - Added configuration reload support.
28 - PG Exporter v0.1.2
Changes
- Fixed
pgbouncer_up. - Added dynamic configuration reload.
- Removed shard-related logic.
- Added a
bulkymode to the default configuration.
29 - PG Exporter v0.1.1
Changes
- Fixed a startup hang when a query failed.
30 - PG Exporter v0.1.0
Changes
The first stable release.
31 - PG Exporter v0.0.5
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_errorbehavior with thefatalcollector policy - Revise collector priority semantics
- Fix the built-in
pg_upmetric - Add documentation for each bundled collector
32 - PG Exporter v0.0.4
Changes
Tested across more than 200 production nodes for about two weeks.
33 - PG Exporter v0.0.3
Changes
Passed production testing while the project remained under active development.
34 - PG Exporter v0.0.2
Changes
An early version made available for trial use.
35 - PG Exporter v0.0.1
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.