冯若航
冯若航(@Vonng)编写 PG Exporter,以及它最初服务的 PostgreSQL 发行版 Pigsty。
PG Exporter 起于一个很实际的抱怨:对数据库工程师真正重要的那些指标定义,被锁在导出器的 二进制里——懂数据库的人既读不到,也改不了。把它们挪进 YAML 与 SQL,指标契约就变成了可以 评审的东西;版本、角色与扩展之间的差异,也从「发布说明里的一句致歉」变成了导出器在运行时 自己做出的判断。
- pigsty.cc — 这个导出器随之交付的 PostgreSQL 发行版
- GitHub 上的 @Vonng — 这些项目背后的仓库
- vonng.com — 长文
PG Exporter v1.4.1
修复逻辑订阅计数与标签列校验,统一 RPM 包名
PG Exporter v1.4.0
快照直方图支持,新增 pg_xact_age 采集器,HTTP 路由加固
PG Exporter v1.3.0
PostgreSQL 19 支持,新增 PG19 采集器与分支
PG Exporter v1.2.2
例行更新到 Go 1.26.2,无功能改动
PG Exporter v1.2.1
配置样式统一,Go 1.26.1 更新
PG Exporter v1.2.0
热重载与非阻塞启动,新增 PG9.1-9.6 legacy 支持
PG Exporter v1.1.2
修复 pg_timeline 配置问题,使用最新依赖构建
PG Exporter v1.1.1
新增 pg_timeline 采集器,pg_sub_16 分支,Bug 修复
PG Exporter v1.1.0
更新默认指标采集器,升级到 Go 1.25.5
PG Exporter v1.0.3
例行更新到 1.25.4,修复不支持的 libpq 环境变量
PG Exporter v1.0.2
使用 goreleaser 构建更多操作系统架构
PG Exporter v1.0.1
Docker Hub 镜像,Go 1.24.5,禁用 pg_tsdb_hypertable
PG Exporter v1.0.0
PostgreSQL 18 支持,新增 WAL/检查点/I/O 指标
PG Exporter v0.9.0
TimescaleDB、Citus、pg_wait_sampling 采集器
PG Exporter v0.8.1
依赖更新,Docker 镜像标签
PG Exporter v0.8.0
PgBouncer 1.24 支持,Go 1.24,日志重构
PG Exporter v0.7.1
例行更新,支持 Reader 配置
PG Exporter v0.7.0
PostgreSQL 17 支持,谓词查询功能
PG Exporter v0.6.1
依赖安全更新,以及连接超时与配置目录修复
PG Exporter v0.6.0
PostgreSQL 16 支持,ARM64 包,安全修复
PG Exporter v0.5.0
RPM/DEB 构建,列缩放,指标增强
PG Exporter v0.4.1
采集器更新,connect-timeout 参数
PG Exporter v0.4.0
PostgreSQL 14 支持,自动发现功能
PG Exporter v0.3.2
Shadow DSN 修复,文档更新
PG Exporter v0.3.1
旧版 PostgreSQL 配置修复
PG Exporter v0.3.0
PostgreSQL 13 支持,REST API,虚拟服务器
PG Exporter v0.2.0
YUM 包,配置重载支持
PG Exporter v0.1.2
动态配置重载,批量模式
PG Exporter v0.1.1
启动挂起 Bug 修复
PG Exporter v0.1.0
首个稳定版本
PG Exporter v0.0.5
新增超时、致命采集器与优先级语义,修复 pg_up 并补齐采集器文档
PG Exporter v0.0.4
生产环境测试版本
PG Exporter v0.0.3
生产环境测试
PG Exporter v0.0.2
早期测试版本
PG Exporter v0.0.1
初始版本,支持 PgBouncer 模式
把 PostgreSQL CSV 日志转成持久指标
PG Exporter PostgreSQL CSV 日志指标的产品边界、持久状态协议、有限指标契约与失败语义
把 pgBackRest 指标移出抓取路径
为什么 PG Exporter 在有界后台 worker 中执行 pgBackRest,并提供不可变的 last-good 快照
我们最终没有做的 PostgreSQL 可观测性产品
为什么我们探索过 local-first PostgreSQL 事故工作台,最后却把目标收缩为 PG Exporter 内部的 CSV 日志指标
一个端点,多种来源:Composite Exporter 契约
PG Exporter 如何组合 PostgreSQL、PgBouncer、Patroni 与缓存组件,同时不削弱 PostgreSQL 主抓取
快照直方图是 Gauge,不是 Counter
为什么 PG Exporter 每次查询都重新构造 SQL 分布,并用 Gauge 序列暴露 bucket、count 与 sum