# 设计归档

> PG Exporter 的架构决策、被否决方案与实现契约

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

设计归档解释 PG Exporter 为什么采用今天的实现方式。每篇文章都会区分设计、实现、合并、发布、软件包、部署与生产验证，避免把一项已经接受的设计误读成已经发布的功能。

当前产品行为以[使用手册](/zh/docs/)为准，已经交付的版本以[发布归档](/zh/release/)为准；本栏目记录形成这些结果的理由、备选方案、不变量与验证证据。

---

本节页面：

- [把 PostgreSQL CSV 日志转成持久指标](/zh/design/postgres-log-metrics/): PG Exporter PostgreSQL CSV 日志指标的产品边界、持久状态协议、有限指标契约与失败语义
- [把 pgBackRest 指标移出抓取路径](/zh/design/cached-pgbackrest-metrics/): 为什么 PG Exporter 在有界后台 worker 中执行 pgBackRest，并提供不可变的 last-good 快照
- [我们最终没有做的 PostgreSQL 可观测性产品](/zh/design/observability-product-pivot/): 为什么我们探索过 local-first PostgreSQL 事故工作台，最后却把目标收缩为 PG Exporter 内部的 CSV 日志指标
- [一个端点，多种来源：Composite Exporter 契约](/zh/design/composite-exporter/): PG Exporter 如何组合 PostgreSQL、PgBouncer、Patroni 与缓存组件，同时不削弱 PostgreSQL 主抓取
- [快照直方图是 Gauge，不是 Counter](/zh/design/snapshot-histograms/): 为什么 PG Exporter 每次查询都重新构造 SQL 分布，并用 Gauge 序列暴露 bucket、count 与 sum
