发布注记
pg_exporter 的最新稳定版本是 v1.5.0
| 版本 | 日期 | 摘要 | GitHub |
|---|---|---|---|
| v1.5.0 | 2026-10-23 | 连接安全、自动发现、健康检查与复制指标修复,Go 1.27.3 | v1.5.0 |
| v1.4.1 | 2026-07-29 | 修复逻辑订阅计数与标签列校验,统一 RPM 包名 | v1.4.1 |
| v1.4.0 | 2026-07-18 | 快照直方图支持,新增 pg_xact_age 采集器,HTTP 路由加固 | v1.4.0 |
| v1.3.0 | 2026-06-24 | PostgreSQL 19 支持,新增 PG19 采集器与分支 | v1.3.0 |
| v1.2.2 | 2026-04-14 | 例行更新到 Go 1.26.2,无功能改动 | v1.2.2 |
| v1.2.1 | 2026-03-21 | 配置样式统一,Go 1.26.1 更新 | v1.2.1 |
| v1.2.0 | 2026-02-12 | 热重载与非阻塞启动,新增 PG9.1-9.6 legacy 支持 | v1.2.0 |
| v1.1.2 | 2026-01-16 | 修复 pg_timeline 配置问题,使用最新依赖构建 | v1.1.2 |
| v1.1.1 | 2025-12-30 | 新增 pg_timeline 采集器,pg_sub_16 分支,Bug 修复 | v1.1.1 |
| v1.1.0 | 2025-12-15 | 更新默认指标采集器,升级到 Go 1.25.5 | v1.1.0 |
| v1.0.3 | 2025-11-20 | 例行更新到 1.25.4,修复不支持的 libpq 环境变量 | v1.0.3 |
| v1.0.2 | 2025-08-14 | 使用 goreleaser 构建更多操作系统架构 | v1.0.2 |
| v1.0.1 | 2025-07-17 | DockerHub 镜像,Go 1.24.5,禁用 pg_tsdb_hypertable | v1.0.1 |
| v1.0.0 | 2025-05-06 | PostgreSQL 18 支持,新增 WAL/检查点/I/O 指标 | v1.0.0 |
| v0.9.0 | 2025-04-26 | TimescaleDB、Citus、pg_wait_sampling 采集器 | v0.9.0 |
| v0.8.1 | 2025-02-14 | 依赖更新,Docker 镜像标签 | v0.8.1 |
| v0.8.0 | 2025-02-14 | PgBouncer 1.24 支持,Go 1.24,日志重构 | v0.8.0 |
| v0.7.1 | 2024-12-29 | 例行更新,支持 Reader 配置 | v0.7.1 |
| v0.7.0 | 2024-08-13 | PostgreSQL 17 支持,谓词查询功能 | v0.7.0 |
| v0.6.0 | 2023-10-18 | PostgreSQL 16 支持,ARM64 包,安全修复 | v0.6.0 |
| v0.5.0 | 2022-04-27 | RPM/DEB 构建,列缩放,指标增强 | v0.5.0 |
| v0.4.1 | 2022-03-08 | 采集器更新,connect-timeout 参数 | v0.4.1 |
| v0.4.0 | 2021-07-12 | PostgreSQL 14 支持,自动发现功能 | v0.4.0 |
| v0.3.2 | 2021-02-01 | Shadow DSN 修复,文档更新 | v0.3.2 |
| v0.3.1 | 2020-12-04 | 旧版 PostgreSQL 配置修复 | v0.3.1 |
| v0.3.0 | 2020-10-29 | PostgreSQL 13 支持,REST API,虚拟服务器 | v0.3.0 |
| v0.2.0 | 2020-03-21 | YUM 包,配置重载支持 | v0.2.0 |
| v0.1.2 | 2020-02-20 | 动态配置重载,批量模式 | v0.1.2 |
| v0.1.1 | 2020-01-10 | 启动挂起 Bug 修复 | v0.1.1 |
| v0.1.0 | 2020-01-08 | 首个稳定版本 | v0.1.0 |
| v0.0.4 | 2019-12-20 | 生产环境测试版本 | v0.0.4 |
| v0.0.3 | 2019-12-14 | 生产环境测试 | v0.0.3 |
| v0.0.2 | 2019-12-09 | 早期测试版本 | v0.0.2 |
| v0.0.1 | 2019-12-06 | 初始版本,支持 PgBouncer 模式 | v0.0.1 |
v1.5.0
发布日期:2026-10-23。此版本聚焦连接安全、采集准确性和运行状态一致性,构建工具链升级到 Go 1.27.3。
修复与改进
- 严格校验 PostgreSQL URL 与查询参数,拒绝错误转义和含空白、
=的参数名。安全诊断避免把错误连接串中的密码写入日志,也避免显式 TLS 设置在规范化时被静默丢弃。选用PG_EXPORTER_URL_FILE后,空文件或只含空白的文件会使启动失败。 - 自动发现复用
lib/pq的数据库身份解析;替换数据库名时移除冲突的dbname/database参数并保留特殊字符,修复重复采集同一数据库及重复指标导致的 HTTP 500。 - 健康检查从同一个原子状态生成 HTTP 状态码与正文,修复并发切换时的矛盾响应;仍使用后台缓存状态。
- 成功预检后,用户名、Schema 或扩展集合变化会触发重新规划;没有变化时保留计划和缓存。安装或删除扩展、Schema 后无需手动重载。
- 配置加载拒绝 NaN、无穷大以及溢出的 TTL/正超时;保留 TTL 为 0 禁用缓存、超时为 0 使用默认值、有限负超时关闭期限的既有语义。
- 启动时确认指标路径在实际 HTTP mux 下命中指标处理器,拒绝旧版 mux 中返回首页或重定向的不可达转义路径。
- 为
pg_sub_*新增订阅所属数据库的datname标签,避免跨数据库同名订阅冲突。修正当前与 legacy 配置的pg_recv_state状态编码,以及 PG9.6 receiver 地址提取 SQL。 - 校准
pg_origin的权限说明、pg_pubrel_count的表计数范围、pg_subrel_count的同步状态和 PG19 序列语义,以及pg_backend的描述。
指标、仪表盘与告警兼容性
与同一 PostgreSQL 版本上的 v1.4.1 相比,v1.5.0 没有新增、删除或改名内置 SQL 指标。类型和单位不变,但标签与状态映射有变化。PostgreSQL 19 支持最早随 v1.3.0 发布;升级数据库还可能改变所选 SQL 分支与指标含义。
| 变化来源 | 指标 | 兼容性处理 |
|---|---|---|
| v1.5.0 配置 | pg_sub_* | 每条样本增加 datname。连接与聚合时保留数据库和订阅身份;新标签集会产生新时序。 |
| v1.5.0 配置 | pg_recv_state | 真实接收器状态 starting、waiting、restarting、stopped 从 -1 改为 6–9。更新值映射和状态告警;编码 1–3 保留。 |
| PG18 → PG19 | PG18 已有的指标名 | 本配置的 PG19 分支没有删除或改名这些指标;这不保证 PostgreSQL 自身提供的语义和标签取值不变。 |
| PG19 | pg_sub_sync_error_count | 名称保留,值变为表与序列同步错误之和。只监控表同步时用 pg_sub_sync_table_error_count,序列分量由 pg_sub_sync_seq_error_count 提供。不要把分量和总和重复相加。 |
| PG19 | pg_sub_has_worker、pg_sub_reset_time、pg_sub_confl_* | 新增 worker 存在标记、重置时间与八个冲突计数器。没有 apply worker 时仍可能保留订阅行,不能仅凭指标存在判断 worker 健康。 |
| PG19 | pg_subrel_count | 同时包含表和序列;pg_pubrel_count 仍只统计表。检查面板名称与数量比较规则。 |
| PG19 | pg_wal_fpi_bytes、pg_lock_stat_*、pg_recovery_state_*、pg_vacuum_score_* | 属于新增指标。恢复状态仅用于备库,自动清理评分仅用于主库;原有 WAL、锁分布和恢复指标族保留。 |
从 PG17 或更早版本升级的用户还需迁移旧名:检查点指标自 PG17 起移出 pg_bgwriter_*,而 pg_wal_write、pg_wal_sync、pg_wal_write_time、pg_wal_sync_time 自 PG18 起不再输出。完整兼容性指南 逐项列出替代指标、标签/聚合差异与混合版本 PromQL。
部署前应执行实际仪表盘和告警表达式,并测试时序缺失的情况。抓取成功不代表所有预期指标都存在;告警表达式返回空结果时可能静默失效。缺失指标检查 提供逐目标规则,并说明哪些缺失属于正常情况。PG19 指标对照表 链接到发布标签中的精确定义;PostgreSQL 验证范围仍为 19 RC1。
升级注意事项
- PG10–13 必须由管理员在 Exporter 的 主连接数据库 中执行
GRANT SELECT (oid) ON pg_catalog.pg_subscription TO monitor;,将monitor替换为实际监控用户。该授权不开放subconninfo;PG14+ 标准目录 ACL 下无需额外授权。 pg_sub_*新增标签会建立新时序。检查依赖该指标标签匹配的 PromQL 连接、聚合与告警;pg_sub_idgauge 保留。pg_recv_state使用下表;1–3 保留不用。没有 receiver 行时不输出样本。PG9.6 对普通监控用户隐藏的详情仍表现为未知状态,不扩大数据库权限。
| 状态 | 编码 | 状态 | 编码 |
|---|---|---|---|
| streaming | 0 | starting | 6 |
| stopping | 4 | waiting | 7 |
| connecting(PG19+) | 5 | restarting | 8 |
| 未知/NULL | -1 | stopped | 9 |
- 同时升级二进制与采集器配置。软件包会保留本地配置修改,升级后应合并新版
pg_exporter.yml,再检查/metrics的查询错误计数,不能只看 HTTP 200。 - 空 YAML 重载仍会清空采集器;目录加载仍允许部分有效文件生效。SIGTERM 沿用直接退出行为,不等待活跃抓取结束。
工具链与验证
保留 lib/pq 1.12.3,升级 Prometheus client_golang 至 1.25.0、common 至 0.72.1、exporter-toolkit 至 0.20.0;YAML 使用 go.yaml.in/yaml/v3 3.0.5。PostgreSQL 驱动仍为 lib/pq。
默认配置仍包含 58 个 YAML 文件、96 个分支、59 个命名空间和 460 个去重后的指标定义(含 2 个未展开直方图)。已验证非超级用户运行 PG9.1–9.6、10–18、19 RC1 与 PgBouncer 1.26.1;另验证物理备库晋升、重载、断连恢复、竞态、新旧 HTTP mux、六平台构建、ARM64 RPM/DEB 安装及 Docker 镜像。PG19 验证对象为 RC1,不代表所有扩展或生产负载已经验证。
Go 与依赖的安全更新
Go 1.27.3 在 crypto/x509 中加入不可信中间证书拒绝列表,修复 CVE-2026-111943。它也包含从旧构建工具链 Go 1.26.5 升级所跨越的安全修复,包括 TLS 的 CVE-2026-56862、CVE-2026-97031,HTTP 的 CVE-2026-56853、CVE-2026-94439,以及模板、ASN.1、multipart 等修复。完整上游范围见 Go 1.26.6、Go 1.27.2 和 Go 1.27.3 公告。
golang.org/x/net 从 0.57.0 升至 0.61.0,包含 0.60.0 的五项 HTTP/2 修复:
| CVE | 修复内容 |
|---|---|
| CVE-2026-78659 | Trailer 头导致的内存放大 |
| CVE-2026-78669 | 窗口更新导致的 CPU 消耗 |
| CVE-2026-78663 | 重复返还流控额度 |
| CVE-2026-97032 | HPACK 编码器竞态崩溃 |
| CVE-2026-78660 | 畸形 framing 响应头 |
x/crypto 0.58.0 也跨过 SSH CVE-2026-56854、CVE-2026-56855、CVE-2026-78662 的修复版本;x/text 0.43.0 包含 precis CVE-2026-56851 的修复。本程序未导入这些 SSH/precis 包,这些是依赖版本层面的更新,不能写成已证实的 exporter 运行时漏洞。
2026-10-23 的 govulncheck 对照核验中,新候选在 Darwin、Linux、Windows 目标均无符号级或已导入包级已知漏洞;仅保留未导入的 OpenPGP 包 GO-2026-5932 的模块级提示。静态符号匹配不等于攻击复现,上述修复也不表示每项漏洞都可在 exporter 中利用。其他依赖升级按维护更新处理。应更新重新构建的发行二进制;只更新主机上的 Go 不会改变旧二进制。
完整逐项 CVE、首个修复版本与扫描层级见 安全更新核验表。
GitHub 发布 · SHA256 校验和 · 完整变更 · 完整采集器文档
v1.4.1
v1.4.1 是一次聚焦监控准确性与 RPM 升级兼容性的维护版本。
变更摘要:
- 修复
pg_subrel_count在并行逻辑复制工作进程场景下重复计数的问题:先按订阅 ID 与名称去重pg_stat_subscription,再汇总各订阅关系状态 - 查询结果缺少配置声明的
LABEL列时,该采集器本轮采集会整体失败,不再生成空标签或沿用旧结果;其他非致命采集器仍会继续工作 - 官方 RPM 包名及产物文件名前缀由
pg_exporter统一为pg-exporter;新包声明兼容并替换旧包名,可直接升级 - 更新版本与独立安装包元数据,增加缺失标签列的回归测试,并在 CI 中校验 RPM 配置、产物名称及兼容元数据
升级提示:
- 自定义采集器的 SQL 必须返回全部
LABEL列;即使结果为零行,返回结果的列定义也必须完整 - 若脚本直接匹配 GitHub RPM 文件名,请将
pg_exporter-*.rpm更新为pg-exporter-*.rpm
https://github.com/pgsty/pg_exporter/releases/tag/v1.4.1
v1.4.0
v1.4.0 引入快照直方图(Snapshot Histogram)指标类型与新的 pg_xact_age 事务年龄采集器,并对 HTTP 路由、打包与构建链进行了一轮系统性加固。
新功能:
- 新增
HISTOGRAM列类型:SQL 查询快照可按标签组直接聚合为经典 Prometheus 直方图,派生_bucket/_count/_sum三族序列;桶边界在配置加载阶段严格校验(有限、严格递增,自动追加+Inf),le成为保留标签,热重载安全 - 新增
pg_xact_age采集器:以直方图暴露开放事务年龄(pg_xact_age_seconds)与事务中空闲年龄(pg_xact_age_idle_seconds)的分布,集群级采集,仅统计客户端后端,TTL 10 秒 - 默认配置包从 57 个定义文件增加到 58 个;
pg_xact_age编号0450,原pg_lock/pg_lock_stat/pg_query顺延为0460/0470/0480(内容不变)
修复与改进:
- HTTP 路由注册隔离到私有 ServeMux,不再使用全局
DefaultServeMux,杜绝第三方库注册的端点被意外暴露 --web.telemetry-path启动时严格校验:空路径、不以/开头、含?#{}、与内置端点冲突、以及//metrics这类注册后永远无法命中的非规范路径,一律启动即报错退出- 落地页对 telemetry path 进行 HTML 转义
--fail-fast预检失败退出时正确关闭主连接池- RPM / DEB 打包修复(#105):
prometheus系统用户 HOME 指向/var/lib/prometheus(libpq 查找~/.pgpass的惯例位置),打包默认连接串补上/postgres数据库名,避免回退到以用户名命名的库 - 版本串统一为
v前缀:官方发布二进制的--version输出、/version端点与pg_exporter_build_info{version=...}标签现在为v1.4.0(此前 GoReleaser 产物为无前缀的1.3.0);产物文件名、包版本号与 Docker 镜像 tag 命名规则不变 - 直方图值转换与标量路径语义对齐:时间戳与布尔列不应用
scale缩放 - 修正 GoReleaser 内嵌包元数据:支持范围描述更新为 PostgreSQL
9.x - 19+与 pgBouncer1.8 - 1.25+ make docker恢复GOPROXY/GOSUMDB构建参数透传
工程与构建:
- 构建链更新到 Go
1.26.5、exporter-toolkitv0.17.1、prometheus/commonv0.70.0 - 新增常规 CI 验证工作流:模块 tidy 校验、生成配置漂移校验(
make conf结果与config/*.yml强一致)、race 测试与六平台交叉编译 - Docker 构建工具链整合:移除
docker/目录脚本与make docker-release,多架构发布镜像统一由 GoReleaser 构建 - 配置覆盖测试泛化:测试不再假设特定采集器必然存在于配置目录中,便于裁剪自定义配置包
升级提示:
- 若此前使用了非规范的 telemetry path(如
//metrics),升级后进程将拒绝启动——此前虽能启动,但指标端点实际上不可达 - 解析
pg_exporter_build_info的version标签或--version输出的自动化脚本,需要适配v前缀 - 配置了
HISTOGRAM采集器时,le不可再用作常量标签
校验和
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 提供对 PostgreSQL 19 新指标的支持,同时刷新默认采集器包、构建链和配置覆盖测试。
变更摘要:
- 默认支持范围从 PostgreSQL 10-18+ 扩展到 10-19+
- 默认配置包包含 57 个
config/*.yml定义文件 - 构建依赖更新到 Go
1.26.4、lib/pq v1.12.3、Prometheus clientv1.23.2、exporter-toolkitv0.16.0。 pg_recovery_state:在恢复节点上采集pg_stat_recovery,暴露提升触发、回放 LSN、时间线、恢复事务时间与暂停状态。pg_lock_stat:采集 PG19pg_stat_lock,按locktype暴露等待次数、等待时间和 fast-path 溢出次数。pg_vacuum_score:采集pg_stat_autovacuum_scores当前数据库摘要,暴露最大 autovacuum 分数和候选表数量。pg_wal_19:在 PG19 上暴露wal_fpi_bytes,指标名为pg_wal_fpi_bytes。pg_sub_19:基于pg_stat_subscription_stats适配序列同步与逻辑复制冲突统计,继续提供兼容旧仪表盘的sync_error_count。pg_recv:PG13+ WAL receiver 分支识别 PG19connecting状态。pg_slot:识别 PG19 replication slotidle_timeout失效原因。pg_db_confl:改为显式列清单,避免未来视图新增列被意外导出。pg_backup、pg_vacuuming、pg_clustering继续复用现有稳定分支,避免为低价值 PG19 字段改变已有指标面。
校验和
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 是一次例行维护发布,仅将发布构建链更新到 Go 1.26.2,未引入新的采集器、配置语义或运行时行为变更。
变更摘要:
- 刷新构建链:发布流程更新到 Go
1.26.2 - 无功能改动:未调整采集器、默认配置、指标定义或运行时行为
校验和
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 是一次轻量维护版本,重点放在发布工程、配置包一致性与文档/元数据刷新上,不引入新的采集器语义或运行时行为变更。
变更摘要:
- 刷新构建链:发布流程与 Docker 构建基础镜像升级到 Go
1.26.1 - 统一配置样式:将当前配置与 Legacy 配置中的内联
description统一改为双引号写法,并重新生成合并后的pg_exporter.yml/legacy/pg_exporter.yml - 增加配置一致性测试:新增 split/merged config 等价性校验,以及内联指标描述风格检查,减少配置漂移风险
- 刷新打包元数据:RPM / DEB 描述中的支持范围更新为 PostgreSQL
9.x - 18+与 pgBouncer1.8 - 1.25+,并更新 Pigsty 文档入口链接
校验和
https://github.com/pgsty/pg_exporter/releases/tag/v1.2.1
v1.2.0
v1.2.0 是一次聚焦稳定性与兼容性的中版本更新,覆盖启动流程、热重载、健康检查、配置校验与 Legacy 支持。
新功能:
- 支持配置热重载:新增平台相关的信号重载(
SIGHUP/SIGUSR1),并强化POST /reload工作流,可在不重启进程情况下更新配置与查询计划 - 启动流程改为非阻塞:即使目标库预检失败,也会先启动 HTTP 服务,便于监控系统先接入后恢复
- 新增 PostgreSQL 9.1-9.6 Legacy 配置套件:提供
legacy/配置目录与make conf9目标,便于 EOL 老版本平滑接入 - 健康检查机制重构:引入缓存健康快照与周期探测,读写角色类健康端点行为更一致,重载期间更平滑
- 工程链路增强:Release 工作流增加
go test与go vet,并升级构建链到 Go 1.26.0
Bug 修复:
- 修复多处配置解析边界问题:拒绝非法 metrics 定义、无效目录加载失败场景可正确报错,并补齐运行时回退逻辑
- 修复命令行布尔参数解析:正确处理
--flag=false风格传参,避免被误判为启用 - 修复
/explain输出与渲染安全性:调整内容类型并改用更安全的模板渲染路径 - 修复谓词查询与连接 URL 处理细节:增强 BOOL/BOOLEAN 条件支持、完善
dbname查询参数解析与 URL 脱敏输出 - 修复自动发现目标移除时的资源释放行为:异步关闭已移除数据库连接,降低采集阻塞风险
- 修复指标与标签校验细节:补齐常量标签冲突检查、默认值缩放处理与若干 Prometheus 规则校验
校验和
https://github.com/pgsty/pg_exporter/releases/download/v1.2.0/checksums.txt
https://github.com/pgsty/pg_exporter/releases/tag/v1.2.0
v1.1.2
小版本更新,修复 pg_timeline 配置问题,使用最新 Go 依赖构建。
校验和
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
小版本更新,新增采集器和 Bug 修复。
新功能:
- 新增
pg_timeline采集器,用于时间线监控 - 新增
pg_sub_16采集器分支,排除订阅中的并行操作(PostgreSQL 16+ 兼容性)
Bug 修复:
- 修复:为
pg_recv采集器的 slotname 添加 coalesce 以处理 NULL 值
校验和
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
使用 Go 1.25.5 和最新依赖构建,采集器更新:
采集器变更:
pg_setting:针对 PG10-18 兼容性进行重大重构,支持missing_ok- 新增 13 个指标:
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 - 将
work_memory_size重命名为work_mem - min_version 从 9.6 改为 10,显式
::int类型转换
- 新增 13 个指标:
pg_size:修复日志目录大小检测,使用logging_collector检查代替路径模式匹配pg_table:性能优化,用 JOIN 替换 LATERAL 子查询以提升查询性能;修复tuples和frozenxid指标类型从 COUNTER 改为 GAUGE;超时从 1s 增加到 2spg_vacuuming:新增 PG17 采集器分支,包含新指标indexes_total、indexes_processed、dead_tuple_bytes用于索引 vacuum 进度跟踪pg_query:超时从 1s 增加到 2s 以应对高负载场景pg_io:修复reuses描述中的拼写错误(“in reused” -> “is reused”)pg_checkpointer:修复 pg_checkpointer_10 描述(“9.4+” -> “9.4-17”)pg_db_confl:修复 pg_db_confl_15 描述(“9.1 - 16” -> “9.1 - 15”)pg_db、pg_indexing、pg_clustering、pg_backup格式对齐修复
其他变更:
- 由 @anayrat 修复发布年份
校验和
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
校验和
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
- 使用 Go 1.25.0 和最新依赖构建
- 专属网站和主页:https://exp.pgsty.com
- 使用 goreleaser 通过 CI/CD 流水线发布更多操作系统/架构:
- 新增 Windows amd64 支持
- 新增 Linux ppc64le 支持
校验和
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
- 新增 DockerHub 镜像:pgsty/pg_exporter
- 升级 Go 依赖到最新版本,使用 Go 1.24.5 构建
- 默认禁用
pg_tsdb_hypertable采集器,因为timescaledb目录已变更
校验和
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.1
v1.0.0
新增 PostgreSQL 18 指标支持
- 新采集器分支
pg_wal_18:- 移除
write、sync、write_time、sync_time指标 - 移至
pg_stat_io
- 移除
- 新采集器分支
pg_checkpointer_18:- 新指标
num_done - 新指标
slru_written
- 新指标
- 新采集器分支
pg_db_18:- 新指标
parallel_workers_to_launch - 新指标
parallel_workers_launched
- 新指标
- 新采集器分支
pg_table_18:table_parallel_workers_to_launchtable_parallel_workers_launched
- 新采集器分支
pg_io_18:- 新增 WAL 统计系列
- 新指标
read_bytes - 新指标
write_bytes - 新指标
extend_bytes - 移除
op_bytes(因为是固定值)
- 新采集器分支
pg_vacuuming_18:- 新指标
delay_time
- 新指标
https://github.com/pgsty/pg_exporter/releases/tag/v1.0.0
v0.9.0
默认采集器
- 新增
timescaledb超表指标采集器 - 新增
citus分布式节点指标采集器 - 新增
pg_wait_sampling等待事件采集器 pg_slot全面改进:新增 16/17 pg_replication_slot 指标- 允许
pg_slot采集器从 16/17 开始在从库上运行 - 重构
pg_wait采集器,从所有进程聚合 - 限制 pg_clustering、pg_indexing、pg_vacuuming 只在主库运行
- 将所有
reset_time标记为GAUGE而非COUNTER - 修复
pg_recovery_prefetch_skip_fpw类型从GAUGE改为COUNTER - 修复
pg_recv.state类型从LABEL改为GAUGE - 采集器格式改为紧凑模式
- 新增默认指标
pg_exporter_build_info/pgbouncer_exporter_build_info - 为
pg_meta采集器新增server_encoding - 为
pg_setting采集器新增 12 个设置指标:- 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
导出器代码库
- 使用最小 PG 版本后缀规范化采集器分支名称
- 为二进制包添加许可证文件
- 将
pgsty/pg_exporter仓库移至pgsty/pg_exporter - 重构
server.go以降低Compatible和PostgresPrecheck复杂度 - 使用额外数字前缀重命名指标采集器以便排序
- 升级依赖到最新版本
- 在所有非致命采集器之前执行致命采集器,快速失败
https://github.com/pgsty/pg_exporter/releases/tag/v0.9.0
v0.8.1
- 升级依赖到最新版本
- 升级 golang.org/x/net 从 0.35.0 到 0.36.0 #67
- 更新 Docker 镜像构建标签
https://github.com/pgsty/pg_exporter/releases/tag/v0.8.1
v0.8.0
- 新增 PgBouncer 1.24 新指标支持(stat、pool、database)
- 修复:
310-pg_size.yml在日志目录设置不正确时失败 #64,由 @Süleyman Vurucu 贡献 - 使用最新 Go 1.24 构建并升级所有依赖
- 使用标准
log/slog重构日志,替代go-kit - 完整变更日志: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
使用 dependabot 进行例行更新
- 功能:支持将配置指定为 Reader,由 @ringerc 在 #62 贡献
- 升级 golang.org/x/crypto 从 0.21.0 到 0.31.0,由 @dependabot 在 #63 贡献
- 修复一些拼写错误
- 完整变更日志: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
为最新 Go 版本重构代码库。
- PostgreSQL 17 指标支持,由 @Vonng 贡献
- pg_exporter: 谓词查询功能,由 @ringerc 贡献
- 在 Dockerfile 中进行干净构建,由 @ringerc 贡献
- pg_exporter: “bind: address already in use” 后不再 panic,由 @ringerc 贡献
- pg_exporter: 修复 /stat 端点格式,由 @ringerc 贡献
- pg_exporter: yaml 导出时省略默认查询属性,由 @ringerc 贡献
- 从发现中排除模板数据库并模式限定发现查询,由 @ringerc 贡献
- 修复一些拼写错误和指标描述错误,由 @ringerc 贡献
- 从废弃的 lib/pq 驱动切换到带 stdlib 包装的 pgx,由 @ringerc 贡献
https://github.com/pgsty/pg_exporter/releases/tag/v0.7.0
v0.6.0
安全增强:修复 安全 dependabot 问题
新增 pg16 采集器
新增
arm64和aarch64包移除
pg_query采集器的monitor模式要求(您需要通过 search_path 确保或直接在默认public模式中安装pg_stat_statements)修复 pgbouncer 版本解析消息级别从 info 改为 debug
修复
pg_table_10_12采集器缺少relid的问题
https://github.com/pgsty/pg_exporter/releases/tag/v0.6.0
v0.5.0
导出器增强
- 使用
nfpm构建 rpm 和 deb - 新增
column.default,当指标值为 NULL 时替换 - 新增
column.scale,当指标值为浮点/整数时乘以缩放因子(例如微秒转秒) - 修复
/stat端点输出 - 新增 Docker 容器
pgsty/pg_exporter
指标采集器
- 将 bgwriter 和 pg_wal 时间单位缩放为秒
- 移除 pg_class 采集器,将其移至 pg_table 和 pg_index
- 为 pg_table 新增 pg_class 指标
- 为 pg_index 新增 pg_class 指标
- 默认启用 pg_table_size
- 将 pg_query、pg_db、pg_bgwriter、pg_ssl、pgbouncer_stat 时间指标缩放为秒
https://github.com/pgsty/pg_exporter/releases/tag/v0.5.0
v0.4.1
- 更新默认采集器
- 在对象监控中省略 citus 和 timescaledb 模式
- 避免重复的 pg_statio 元组
- 支持 pgbouncer v1.16
- Bug 修复:
pg_repl采集器在 pg 12 上重叠
- 新参数:
-Tconnect-timeoutPG_EXPORTER_CONNECT_TIMEOUT这在监控远程 Postgres 实例时很有用 - 现在
pg_exporter.yaml在 rpm 包中重命名为pg_exporter.yml
https://github.com/pgsty/pg_exporter/releases/tag/v0.4.1
v0.4.0
- 新增 PG 14 支持
- 默认指标配置全面改进(但您仍可使用旧配置)
- 新增
auto-discovery、include-database和exclude-database选项 - 新增多数据库监控实现(使用
auto-discovery = on)
https://github.com/pgsty/pg_exporter/releases/tag/v0.4.0
v0.3.2
- 修复 shadow DSN 边界情况
- 修复拼写错误和文档
https://github.com/pgsty/pg_exporter/releases/tag/v0.3.2
v0.3.1
修复默认配置问题(特别是低于 13 的版本)
- 设置
primary_conninfo在 PG13 之前不存在 - 为
pg_func采集器添加funcid标签以避免函数名重复标签 - 修复版本字符串为
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
- 更改默认配置,支持 PostgreSQL 13 新指标(
pg_slru、pg_shmem、pg_query13、pg_backup等) - 新增一系列用于健康/恢复状态检查的 REST API
- 新增一个带有假
pg_up 0指标的虚拟服务器,在 PgExporter 初始化之前提供服务 - 如果未指定
sslmode,向 URL 添加sslmode=disable - 修复拼写错误和 Bug
v0.2.0
- 新增 yum 包和 Linux 服务定义
- 在查询配置中新增 ‘skip’ 标志
- 修复
pgbouncer_up指标 - 新增配置重载支持
https://github.com/pgsty/pg_exporter/releases/tag/v0.2.0
v0.1.2
- 修复 pgbouncer_up 指标
- 新增动态配置重载
- 移除 ‘shard’ 相关逻辑
- 在默认设置中添加 ‘bulky’ 模式
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.2
v0.1.1
修复 pg_exporter 在启动时如果任何查询失败会挂起的 Bug。
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.1
v0.1.0
可以工作了,看起来不错。
https://github.com/pgsty/pg_exporter/releases/tag/v0.1.0
v0.0.4
在真实生产环境中测试了大约 2 周,200+ 节点。看起来不错!
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.4
v0.0.3
v0.0.3 发布,在生产环境中测试
此版本已在生产环境中测试。
这个项目仍在快速发展中,如果您想在生产中使用,请谨慎尝试。
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.3
v0.0.2
现在可以尝试了
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.2
v0.0.1
新增 pgbouncer 模式
https://github.com/pgsty/pg_exporter/releases/tag/v0.0.1
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)