PG Exporter 博客
pg_exporter 的博客原文、设计记录、发布注记与项目动态。它是一款声明式 PostgreSQL 与 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 主抓取
PG Exporter v1.4.1
修复逻辑订阅计数与标签列校验,统一 RPM 包名
PG Exporter v1.4.0
快照直方图支持,新增 pg_xact_age 采集器,HTTP 路由加固
快照直方图是 Gauge,不是 Counter
为什么 PG Exporter 每次查询都重新构造 SQL 分布,并用 Gauge 序列暴露 bucket、count 与 sum
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 修复
Victoria:吊打业界的可观测性全家桶来了
Victoria是朴实无华的强悍— — 用几分之一的资源,实现Prometheus + Loki几倍的效果。Pigsty v4.0将全面采用Victoria全家桶。
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停摆一周的大会:PGCon.Dev 2024 参会记
大会议程与主题分享,酒吧社交,自组织会议,PG仓库是如何维护的,社区参与度,一些中国特色问题。
PG Exporter v0.6.1
依赖安全更新,以及连接超时与配置目录修复
PostgreSQL 宏观查询优化之 pg_stat_statements
查询优化是 DBA 的核心工作内容之一,本文介绍了如何使用 pg_stat_statements 提供的指标,针对 PostgreSQL 进行宏观查询优化。
PG Exporter v0.6.0
PostgreSQL 16 支持,ARM64 包,安全修复
如何用Pigsty监控现有PostgreSQL (RDS/PolarDB/自建)?
如何使用 Pigsty 监控云数据库服务,例如 PolarDB / RDS for PostgreSQL,或者自建的现有PG数据库?
PG Exporter v0.5.0
RPM/DEB 构建,列缩放,指标增强
PG Exporter v0.4.1
采集器更新,connect-timeout 参数
PG Exporter v0.4.0
PostgreSQL 14 支持,自动发现功能
PG慢查询诊断方法论
慢查询是在线业务数据库的大敌,本文介绍了使用监控系统定位诊断慢查询的一般方法论。
PG Exporter v0.3.2
Shadow DSN 修复,文档更新
Pigsty正式发布
一个比较正式的上线发布通知:Pigsty —— 世界上最先进的开源关系型数据库PostgreSQL的监控系统与供给方案。
PG Exporter v0.3.1
旧版 PostgreSQL 配置修复
黄金监控指标:错误延迟吞吐饱和
了解PostgreSQL中的黄金监控指标:错误、延迟、吞吐和饱和度。
PG Exporter v0.3.0
PostgreSQL 13 支持,REST API,虚拟服务器
PostgreSQL监控系统Pigsty概述
近自己做了套数据库监控系统,搞的还可以,简单给大家介绍一下。
PostgreSQL的KPI
管数据库和管人差不多,都需要定KPI。本文介绍了一种衡量PostgreSQL负载的方式:使用一种单一横向可比的指标,名曰PG Load(PG负载)。
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监控系统概览
监控系统是几乎所有运维工作的基础,更亦是驾驭数据库的必备工具,本文简单介绍了一个PostgreSQL的监控系统。
关系膨胀的监控与治理
PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。
监控PG中的表大小
PostgreSQL中的表对应着许多物理文件,本文介绍如何统计一张表在PostgreSQL的实际大小。
PG服务器日志常规配置
建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。
-
把 PostgreSQL CSV 日志转成持久指标
决策状态: 已在开发线实现;截至 2026-08-28,尚未进入 main、tag 或公开软件包。 决策日期: 2026-08-24。 适用范围: Composite Exporter 中默认关闭的 PostgreSQL 14+ CSV 日志 collector。 取代: 我们最终没有做的 PostgreSQL 可观测性产品中独立产品的方向。 发布边界: 已有实现与源码测试;合并、release、软件包、Pigsty 部署与生产 canary 仍是独立门槛。 PostgreSQL 日志包含 …
决策状态: 已在开发线实现;截至 2026-08-28,尚未进入 main、tag 或公开软件包。 决策日期: 2026-08-24。 适用范围: Composite Exporter 中默认关闭的 PostgreSQL 14+ CSV 日志 collector。 取代: 我们最终没有做的 PostgreSQL 可观测性产品中独立产品的方向。 发布边界: 已有实现与源码测试;合并、release、软件包、Pigsty 部署与生产 canary 仍是独立门槛。 PostgreSQL 日志包含 …
-
把 pgBackRest 指标移出抓取路径
决策状态: 已在开发线实现;截至 2026-08-28,尚未进入 main、tag 或公开软件包。 决策日期: 2026-08-23。 适用范围: Composite Exporter 内可选的 --pgbackrest 缓存组件。 发布边界: 源码行为已经实现并测试;公开版本、软件包、部署和独立 exporter 退役尚未验证。 pgBackRest 通过 pgbackrest info --output=json 暴露丰富的备份状态,但它提供的是命令,不是低延迟 metrics …
决策状态: 已在开发线实现;截至 2026-08-28,尚未进入 main、tag 或公开软件包。 决策日期: 2026-08-23。 适用范围: Composite Exporter 内可选的 --pgbackrest 缓存组件。 发布边界: 源码行为已经实现并测试;公开版本、软件包、部署和独立 exporter 退役尚未验证。 pgBackRest 通过 pgbackrest info --output=json 暴露丰富的备份状态,但它提供的是命令,不是低延迟 metrics …
-
我们最终没有做的 PostgreSQL 可观测性产品
决策状态: 2026-08-24 被进程内 PostgreSQL CSV 日志指标方案取代。 研究日期: 2026-08-13。 仍然有效: CSV framing、轮转、SQLSTATE、隐私和有限基数结论。 不再适用: 新产品、仓库、binary、品牌、交互查询工具、TUI、Agent 或日志发送管道。 在收敛 PostgreSQL 日志指标范围之前,我们探索过一个大得多的产品:local-first 事故工作台。它可以检查结构化日志、重建 session 时间线、提供交互过滤与终端界面, …
决策状态: 2026-08-24 被进程内 PostgreSQL CSV 日志指标方案取代。 研究日期: 2026-08-13。 仍然有效: CSV framing、轮转、SQLSTATE、隐私和有限基数结论。 不再适用: 新产品、仓库、binary、品牌、交互查询工具、TUI、Agent 或日志发送管道。 在收敛 PostgreSQL 日志指标范围之前,我们探索过一个大得多的产品:local-first 事故工作台。它可以检查结构化日志、重建 session 时间线、提供交互过滤与终端界面, …
-
一个端点,多种来源:Composite Exporter 契约
决策状态: 已在开发线实现;截至 2026-08-28,尚未进入 main、tag 或公开软件包。 决策日期: 2026-08-11;2026-08-23 与 2026-08-24 又增加了缓存组件。 适用范围: PostgreSQL、PgBouncer、Patroni、pgBackRest 与 PostgreSQL CSV 日志指标的可选 Composite 协调层。 发布边界: 已有设计与实现证据;合并、tag、软件包、部署和生产替换仍是独立门槛。 PG Exporter 最初是针对一个 …
决策状态: 已在开发线实现;截至 2026-08-28,尚未进入 main、tag 或公开软件包。 决策日期: 2026-08-11;2026-08-23 与 2026-08-24 又增加了缓存组件。 适用范围: PostgreSQL、PgBouncer、Patroni、pgBackRest 与 PostgreSQL CSV 日志指标的可选 Composite 协调层。 发布边界: 已有设计与实现证据;合并、tag、软件包、部署和生产替换仍是独立门槛。 PG Exporter 最初是针对一个 …
-
PG Exporter v1.4.1
v1.4.1 是一次聚焦监控准确性与 RPM 升级兼容性的维护版本。 变更摘要 修复 pg_subrel_count 在并行逻辑复制工作进程场景下重复计数的问题:先按订阅 ID 与名称去重 pg_stat_subscription,再汇总各订阅关系状态 查询结果缺少配置声明的 LABEL 列时,该采集器本轮采集会整体失败,不再生成空标签或沿用旧结果;其他非致命采集器仍会继续工作 官方 RPM 包名及产物文件名前缀由 pg_exporter 统一为 pg-exporter;新包声明兼容并替换旧包名 …
v1.4.1 是一次聚焦监控准确性与 RPM 升级兼容性的维护版本。 变更摘要 修复 pg_subrel_count 在并行逻辑复制工作进程场景下重复计数的问题:先按订阅 ID 与名称去重 pg_stat_subscription,再汇总各订阅关系状态 查询结果缺少配置声明的 LABEL 列时,该采集器本轮采集会整体失败,不再生成空标签或沿用旧结果;其他非致命采集器仍会继续工作 官方 RPM 包名及产物文件名前缀由 pg_exporter 统一为 pg-exporter;新包声明兼容并替换旧包名 …
-
PG Exporter v1.4.0
v1.4.0 引入快照直方图(Snapshot Histogram)指标类型与新的 pg_xact_age 事务年龄采集器,并对 HTTP 路由、打包与构建链进行了一轮系统性加固。 新功能 新增 HISTOGRAM 列类型:SQL 查询快照可按标签组直接聚合为经典 Prometheus 直方图,派生 _bucket / _count / _sum 三族序列;桶边界在配置加载阶段严格校验(有限、严格递增,自动追加 +Inf),le 成为保留标签,热重载安全 新增 pg_xact_age 采集器:以 …
v1.4.0 引入快照直方图(Snapshot Histogram)指标类型与新的 pg_xact_age 事务年龄采集器,并对 HTTP 路由、打包与构建链进行了一轮系统性加固。 新功能 新增 HISTOGRAM 列类型:SQL 查询快照可按标签组直接聚合为经典 Prometheus 直方图,派生 _bucket / _count / _sum 三族序列;桶边界在配置加载阶段严格校验(有限、严格递增,自动追加 +Inf),le 成为保留标签,热重载安全 新增 pg_xact_age 采集器:以 …
-
快照直方图是 Gauge,不是 Counter
决策状态: 已随 v1.4.0 发布。 决策日期: 2026-07-11;发布前于 2026-07-17 完成修订。 适用范围: PG Exporter v1.4.0 及后续版本中的 HISTOGRAM 列与内置 pg_xact_age 采集器。 发布边界: 本文描述已经发布的源码与指标契约;Dashboard 与 recording rule 仍由消费者负责。 PG Exporter 最初把每个 SQL 结果单元映射成标量 Gauge 或 Counter。它能回答“最老事务有多老”,却无法保 …
决策状态: 已随 v1.4.0 发布。 决策日期: 2026-07-11;发布前于 2026-07-17 完成修订。 适用范围: PG Exporter v1.4.0 及后续版本中的 HISTOGRAM 列与内置 pg_xact_age 采集器。 发布边界: 本文描述已经发布的源码与指标契约;Dashboard 与 recording rule 仍由消费者负责。 PG Exporter 最初把每个 SQL 结果单元映射成标量 Gauge 或 Counter。它能回答“最老事务有多老”,却无法保 …
-
PG Exporter 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 client v1.23.2、exporter-toolkit v0.16.0。 pg_recovery_state:在恢复节点上采集 …
v1.3.0 提供对 PostgreSQL 19 新指标的支持,同时刷新默认采集器包、构建链和配置覆盖测试。 变更摘要 默认支持范围从 PostgreSQL 10-18+ 扩展到 10-19+ 默认配置包包含 57 个 config/*.yml 定义文件 构建依赖更新到 Go 1.26.4、lib/pq v1.12.3、Prometheus client v1.23.2、exporter-toolkit v0.16.0。 pg_recovery_state:在恢复节点上采集 …
-
PG Exporter 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 …
v1.2.2 是一次例行维护发布,仅将发布构建链更新到 Go 1.26.2,未引入新的采集器、配置语义或运行时行为变更。 变更摘要 刷新构建链:发布流程更新到 Go 1.26.2 无功能改动:未调整采集器、默认配置、指标定义或运行时行为 校验和 https://github.com/pgsty/pg_exporter/releases/download/v1.2.2/checksums.txt …
-
PG Exporter v1.2.1
v1.2.1 是一次轻量维护版本,重点放在发布工程、配置包一致性与文档/元数据刷新上,不引入新的采集器语义或运行时行为变更。 变更摘要 刷新构建链:发布流程与 Docker 构建基础镜像升级到 Go 1.26.1 统一配置样式:将当前配置与 Legacy 配置中的内联 description 统一改为双引号写法,并重新生成合并后的 pg_exporter.yml / legacy/pg_exporter.yml 增加配置一致性测试:新增 split/merged config 等价性校验,以及内 …
v1.2.1 是一次轻量维护版本,重点放在发布工程、配置包一致性与文档/元数据刷新上,不引入新的采集器语义或运行时行为变更。 变更摘要 刷新构建链:发布流程与 Docker 构建基础镜像升级到 Go 1.26.1 统一配置样式:将当前配置与 Legacy 配置中的内联 description 统一改为双引号写法,并重新生成合并后的 pg_exporter.yml / legacy/pg_exporter.yml 增加配置一致性测试:新增 split/merged config 等价性校验,以及内 …
-
PG Exporter v1.2.0
v1.2.0 是一次聚焦稳定性与兼容性的中版本更新,覆盖启动流程、热重载、健康检查、配置校验与 Legacy 支持。 新功能 支持配置热重载:新增平台相关的信号重载(SIGHUP / SIGUSR1),并强化 POST /reload 工作流,可在不重启进程情况下更新配置与查询计划 启动流程改为非阻塞:即使目标库预检失败,也会先启动 HTTP 服务,便于监控系统先接入后恢复 新增 PostgreSQL 9.1-9.6 Legacy 配置套件:提供 legacy/ 配置目录与 make conf9 …
v1.2.0 是一次聚焦稳定性与兼容性的中版本更新,覆盖启动流程、热重载、健康检查、配置校验与 Legacy 支持。 新功能 支持配置热重载:新增平台相关的信号重载(SIGHUP / SIGUSR1),并强化 POST /reload 工作流,可在不重启进程情况下更新配置与查询计划 启动流程改为非阻塞:即使目标库预检失败,也会先启动 HTTP 服务,便于监控系统先接入后恢复 新增 PostgreSQL 9.1-9.6 Legacy 配置套件:提供 legacy/ 配置目录与 make conf9 …
-
PG Exporter v1.1.2
小版本更新,修复 pg_timeline 配置问题,使用最新 Go 依赖构建。 校验和 https://github.com/pgsty/pg_exporter/releases/download/v1.1.2/checksums.txt 8cddd57a843914a3145a80a3220bc875047b9bcac0664357c01ba86485436236 pg-exporter_1.1.2-1_amd64.deb …
小版本更新,修复 pg_timeline 配置问题,使用最新 Go 依赖构建。 校验和 https://github.com/pgsty/pg_exporter/releases/download/v1.1.2/checksums.txt 8cddd57a843914a3145a80a3220bc875047b9bcac0664357c01ba86485436236 pg-exporter_1.1.2-1_amd64.deb …
-
PG Exporter 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 …
小版本更新,新增采集器和 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 …
-
Victoria:吊打业界的可观测性全家桶来了
最近几周老冯都在忙一件事,准备 Pigsty v4.0 —— 最主要的工作就是将 Prometheus 和 Loki 换为 Victoria 全家桶。Victoria 是朴实无华的强悍 ——效果非常炸裂。这一部分已经完工,发布一个 Beta 版本让有需要的朋友先耍一耍。 VictoriaMetrics 初体验 你可能没听说过 VictoriaMetrics,但肯定听说过 Prometheus —— 监控领域的事实标准。VictoriaMetrics 就是 Prometheus 的上位替代品。由白 …
最近几周老冯都在忙一件事,准备 Pigsty v4.0 —— 最主要的工作就是将 Prometheus 和 Loki 换为 Victoria 全家桶。Victoria 是朴实无华的强悍 ——效果非常炸裂。这一部分已经完工,发布一个 Beta 版本让有需要的朋友先耍一耍。 VictoriaMetrics 初体验 你可能没听说过 VictoriaMetrics,但肯定听说过 Prometheus —— 监控领域的事实标准。VictoriaMetrics 就是 Prometheus 的上位替代品。由白 …
-
PG Exporter v1.1.0
使用 Go 1.25.5 和最新依赖构建,采集器更新: 采集器变更 pg_setting:针对 PG10-18 兼容性进行重大重构,支持 missing_ok 新增 13 个指标 …
使用 Go 1.25.5 和最新依赖构建,采集器更新: 采集器变更 pg_setting:针对 PG10-18 兼容性进行重大重构,支持 missing_ok 新增 13 个指标 …
-
PG Exporter v1.0.3
使用 Go 1.25.4 和最新依赖构建 修复 #80 与 libpq 环境变量冲突 由 @kadaffy 将 auto-discovery 默认值改为 true 校验和 https://github.com/pgsty/pg_exporter/releases/download/v1.0.3/checksums.txt 7efa1a77dfd5b94813c32c7ac015b1d479b1f04fb958f6b1ed5af333e354d015 …
使用 Go 1.25.4 和最新依赖构建 修复 #80 与 libpq 环境变量冲突 由 @kadaffy 将 auto-discovery 默认值改为 true 校验和 https://github.com/pgsty/pg_exporter/releases/download/v1.0.3/checksums.txt 7efa1a77dfd5b94813c32c7ac015b1d479b1f04fb958f6b1ed5af333e354d015 …
-
PG Exporter 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 …
使用 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 …
-
PG Exporter v1.0.1
新增 Docker Hub 镜像:pgsty/pg_exporter 升级 Go 依赖到最新版本,使用 Go 1.24.5 构建 默认禁用 pg_tsdb_hypertable 采集器,因为 timescaledb 目录已变更 校验和 d5e2d6a656eef0ae1b29cd49695f9773 pg_exporter-1.0.1-1.aarch64.rpm cb01bb78d7b216a235363e9342803cb3 pg_exporter-1.0.1-1.x86_64.rpm …
新增 Docker Hub 镜像:pgsty/pg_exporter 升级 Go 依赖到最新版本,使用 Go 1.24.5 构建 默认禁用 pg_tsdb_hypertable 采集器,因为 timescaledb 目录已变更 校验和 d5e2d6a656eef0ae1b29cd49695f9773 pg_exporter-1.0.1-1.aarch64.rpm cb01bb78d7b216a235363e9342803cb3 pg_exporter-1.0.1-1.x86_64.rpm …
-
PG Exporter 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: …
变更 新增 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: …
-
PG Exporter 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 …
默认采集器 新增 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 …
-
PG Exporter v0.8.1
变更 升级依赖到最新版本 升级 golang.org/x/net 从 0.35.0 到 0.36.0 #67 更新 Docker 镜像构建标签 v0.8.1 发布于 2025-03-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 升级依赖到最新版本 升级 golang.org/x/net 从 0.35.0 到 0.36.0 #67 更新 Docker 镜像构建标签 v0.8.1 发布于 2025-03-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter 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 v0.8.0 发布于 2025-02-14 查看发布 …
变更 新增 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 v0.8.0 发布于 2025-02-14 查看发布 …
-
PG Exporter 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 v0.7.1 发布于 2024-12-29 查看发布 源码 · tar.gz 源码 · zip …
变更 使用 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 v0.7.1 发布于 2024-12-29 查看发布 源码 · tar.gz 源码 · zip …
-
PG Exporter 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 导出时省 …
变更 为最新 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 导出时省 …
-
让PG停摆一周的大会:PGCon.Dev 2024 参会记
PGCon.Dev 的前身是 PGCon —— 最知名的 PostgreSQL Hacker 年度聚会,也可以说是决定 PostgreSQL 未来的一场会。从 2007 年成立以来,一直都是在加拿大渥太华举办至今。 这次会议有些特殊,原来的主办者 Dan 交班给下一届大会组织者,举办地点也转移到了温哥华市的 SFU 港区活动中心,算是新班组开门红第一次大会,自然更为隆重。 全都来参会了,谁还在写代码? 有多隆重呢?PG 核心组的 Peter Eisentraut 在会后做了一个统计,在这次 …
PGCon.Dev 的前身是 PGCon —— 最知名的 PostgreSQL Hacker 年度聚会,也可以说是决定 PostgreSQL 未来的一场会。从 2007 年成立以来,一直都是在加拿大渥太华举办至今。 这次会议有些特殊,原来的主办者 Dan 交班给下一届大会组织者,举办地点也转移到了温哥华市的 SFU 港区活动中心,算是新班组开门红第一次大会,自然更为隆重。 全都来参会了,谁还在写代码? 有多隆重呢?PG 核心组的 Peter Eisentraut 在会后做了一个统计,在这次 …
-
PG Exporter v0.6.1
变更 将 golang.org/x/net 从 v0.10.0 升级到 v0.17.0,纳入安全修复(#38) 修复 connect-timeout 传递问题(#37),由 @mouchar 贡献 配置目录同时识别 .yaml 与 .yml 文件(#34),由 @japinli 贡献 校验和 原始 Release 为压缩包与软件包发布了 MD5 校验和: 107a67ca74b1d6e7bbe773694a48f6ab pg_exporter-v0.6.1.darwin-amd64.tar.gz …
变更 将 golang.org/x/net 从 v0.10.0 升级到 v0.17.0,纳入安全修复(#38) 修复 connect-timeout 传递问题(#37),由 @mouchar 贡献 配置目录同时识别 .yaml 与 .yml 文件(#34),由 @japinli 贡献 校验和 原始 Release 为压缩包与软件包发布了 MD5 校验和: 107a67ca74b1d6e7bbe773694a48f6ab pg_exporter-v0.6.1.darwin-amd64.tar.gz …
-
PostgreSQL 宏观查询优化之 pg_stat_statements
在线业务数据库中,慢查询不仅影响终端用户体验,还会浪费系统资源、拉高资源饱和度、导致死锁和事务冲突,增加数据库连接压力,导致主从复制延迟等问题。因此,查询优化 是 DBA 的核心工作内容之一。 在查询优化这条路上,有两种不同的方法: 宏观优化:整体分析工作负载,对其进行剖分下钻,自上而下地识别并改进其中表现最糟糕的部分。 微观优化:分析并改进一条特定的查询,这便需要记录慢查询日志,掌握 EXPLAIN 的玄机,领悟执行计划的奥妙。 今天我们先来说说前者,宏观优化 有三个主要目标与动机: 减少资源 …
在线业务数据库中,慢查询不仅影响终端用户体验,还会浪费系统资源、拉高资源饱和度、导致死锁和事务冲突,增加数据库连接压力,导致主从复制延迟等问题。因此,查询优化 是 DBA 的核心工作内容之一。 在查询优化这条路上,有两种不同的方法: 宏观优化:整体分析工作负载,对其进行剖分下钻,自上而下地识别并改进其中表现最糟糕的部分。 微观优化:分析并改进一条特定的查询,这便需要记录慢查询日志,掌握 EXPLAIN 的玄机,领悟执行计划的奥妙。 今天我们先来说说前者,宏观优化 有三个主要目标与动机: 减少资源 …
-
PG Exporter v0.6.0
变更 安全增强:更新依赖,修复已报告的依赖漏洞 新增 pg16 采集器 新增 arm64 和 aarch64 包 移除 pg_query 采集器的 monitor 模式要求(您需要通过 search_path 确保或直接在默认 public 模式中安装 pg_stat_statements) 修复 pgbouncer 版本解析消息级别从 info 改为 debug 修复 pg_table_10_12 采集器缺少 relid 的问题 识别配置目录中的 yml 后缀文件,由 @Japin Li 贡献 …
变更 安全增强:更新依赖,修复已报告的依赖漏洞 新增 pg16 采集器 新增 arm64 和 aarch64 包 移除 pg_query 采集器的 monitor 模式要求(您需要通过 search_path 确保或直接在默认 public 模式中安装 pg_stat_statements) 修复 pgbouncer 版本解析消息级别从 info 改为 debug 修复 pg_table_10_12 采集器缺少 relid 的问题 识别配置目录中的 yml 后缀文件,由 @Japin Li 贡献 …
-
如何用Pigsty监控现有PostgreSQL (RDS/PolarDB/自建)?
Pigsty 是一个开箱即用的 PostgreSQL 发行版,与本地优先的 RDS 开源替代。但它也可以单独作为一个 PostgreSQL/主机监控系统来使用。本文以阿里云为例,介绍了用一台 ECS 安装部署 Pigsty,并用于监控云上的 PolarDB 与 RDS for PostgreSQL,为现有数据库带来极致的观测能力。 嵌入媒体 快速上手 使用 Pigsty 教程分为四个步骤: 1.申请用于部署 Pigsty 的 ECS 服务器2.在 ECS 服务器上完整单机安装 Pigsty3.配 …
Pigsty 是一个开箱即用的 PostgreSQL 发行版,与本地优先的 RDS 开源替代。但它也可以单独作为一个 PostgreSQL/主机监控系统来使用。本文以阿里云为例,介绍了用一台 ECS 安装部署 Pigsty,并用于监控云上的 PolarDB 与 RDS for PostgreSQL,为现有数据库带来极致的观测能力。 嵌入媒体 快速上手 使用 Pigsty 教程分为四个步骤: 1.申请用于部署 Pigsty 的 ECS 服务器2.在 ECS 服务器上完整单机安装 Pigsty3.配 …
-
PG Exporter 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 指标 为 …
导出器增强 使用 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 Exporter v0.4.1
变更 更新默认采集器 在对象监控中省略 citus 和 timescaledb 模式 避免重复的 pg_statio 元组 支持 pgbouncer v1.16 Bug 修复:pg_repl 采集器在 pg 12 上重叠 新参数:-T connect-timeout PG_EXPORTER_CONNECT_TIMEOUT 这在监控远程 Postgres 实例时很有用 现在 pg_exporter.yaml 在 rpm 包中重命名为 pg_exporter.yml v0.4.1 发布于 …
变更 更新默认采集器 在对象监控中省略 citus 和 timescaledb 模式 避免重复的 pg_statio 元组 支持 pgbouncer v1.16 Bug 修复:pg_repl 采集器在 pg 12 上重叠 新参数:-T connect-timeout PG_EXPORTER_CONNECT_TIMEOUT 这在监控远程 Postgres 实例时很有用 现在 pg_exporter.yaml 在 rpm 包中重命名为 pg_exporter.yml v0.4.1 发布于 …
-
PG Exporter v0.4.0
变更 新增 PG 14 支持 默认指标配置全面改进(但您仍可使用旧配置) 新增 auto-discovery、include-database 和 exclude-database 选项 新增多数据库监控实现(使用 auto-discovery = on) v0.4.0 发布于 2021-07-12 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 新增 PG 14 支持 默认指标配置全面改进(但您仍可使用旧配置) 新增 auto-discovery、include-database 和 exclude-database 选项 新增多数据库监控实现(使用 auto-discovery = on) v0.4.0 发布于 2021-07-12 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG慢查询诊断方法论
You can’t optimize what you can’t measure 慢查询是在线业务数据库的大敌,如何诊断定位慢查询是DBA的必修课题。 本文介绍了使用监控系统 —— Pigsty诊断慢查询的一般方法论。 慢查询:危害 对于实际服务于在线业务事务处理的PostgreSQL数据库而言,慢查询的危害包括: 慢查询挤占数据库连接,导致普通查询无连接可用,堆积并导致数据库雪崩。 慢查询长时间锁住了主库已经清理掉的旧版本元组,导致流复制重放进程锁死,导致主从复制延迟。 查询越慢,查询间相 …
You can’t optimize what you can’t measure 慢查询是在线业务数据库的大敌,如何诊断定位慢查询是DBA的必修课题。 本文介绍了使用监控系统 —— Pigsty诊断慢查询的一般方法论。 慢查询:危害 对于实际服务于在线业务事务处理的PostgreSQL数据库而言,慢查询的危害包括: 慢查询挤占数据库连接,导致普通查询无连接可用,堆积并导致数据库雪崩。 慢查询长时间锁住了主库已经清理掉的旧版本元组,导致流复制重放进程锁死,导致主从复制延迟。 查询越慢,查询间相 …
-
PG Exporter v0.3.2
变更 修复 shadow DSN 边界情况 修复拼写错误和文档 v0.3.2 发布于 2021-02-01 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复 shadow DSN 边界情况 修复拼写错误和文档 v0.3.2 发布于 2021-02-01 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
Pigsty正式发布
今天我很荣幸的宣布,Pigsty正式发布了! 官方网站:https://pigsty.cc Pigsty是什么? Pigsty是针对大规模PostgreSQL集群的监控系统 Pigsty是高可用PostgreSQL集群的供给方案 Pigsty基于开源生态构建,是免费的开源软件 Pigsty 针对大规模数据库集群监控与管理而设计,提供业界顶尖的PostgreSQL监控系统与开箱即用的高可用数据库供给方案。Pigsty基于开源生态构建,旨在降低PostgreSQL使用管理的门槛,为用户带来极致的可观 …
今天我很荣幸的宣布,Pigsty正式发布了! 官方网站:https://pigsty.cc Pigsty是什么? Pigsty是针对大规模PostgreSQL集群的监控系统 Pigsty是高可用PostgreSQL集群的供给方案 Pigsty基于开源生态构建,是免费的开源软件 Pigsty 针对大规模数据库集群监控与管理而设计,提供业界顶尖的PostgreSQL监控系统与开箱即用的高可用数据库供给方案。Pigsty基于开源生态构建,旨在降低PostgreSQL使用管理的门槛,为用户带来极致的可观 …
-
PG Exporter v0.3.1
变更 修复默认配置问题(特别是低于 13 的版本) 设置 primary_conninfo 在 PG13 之前不存在 为 pg_func 采集器添加 funcid 标签以避免函数名重复标签 修复版本字符串为 pg_exporter v0.3.1 发布于 2020-12-04 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复默认配置问题(特别是低于 13 的版本) 设置 primary_conninfo 在 PG13 之前不存在 为 pg_func 采集器添加 funcid 标签以避免函数名重复标签 修复版本字符串为 pg_exporter v0.3.1 发布于 2020-12-04 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
黄金监控指标:错误延迟吞吐饱和
前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 盯着仪表盘干什么,看指标。为什么看指标,掌握当前运行状态才能有效施加控制。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力空间有限,仪表盘也就那么大, 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持关注),而冷指标通常只有故障排查时才 …
前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 盯着仪表盘干什么,看指标。为什么看指标,掌握当前运行状态才能有效施加控制。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力空间有限,仪表盘也就那么大, 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持关注),而冷指标通常只有故障排查时才 …
-
PG Exporter 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 修复拼写错误和 …
变更 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 修复拼写错误和 …
-
PostgreSQL监控系统Pigsty概述
近自己做了套数据库监控系统,搞的还可以,简单给大家介绍一下。 Pigsty is an advanced PostgreSQL monitoring systemd based on open source projects like prometheus & grafana. PIGSTY /pɪɡ staɪ/ is the abbreviation of “Postgres in Grafana Style”. Pigsty是一个基于Grafana与Prometheus与Consul的 …
近自己做了套数据库监控系统,搞的还可以,简单给大家介绍一下。 Pigsty is an advanced PostgreSQL monitoring systemd based on open source projects like prometheus & grafana. PIGSTY /pɪɡ staɪ/ is the abbreviation of “Postgres in Grafana Style”. Pigsty是一个基于Grafana与Prometheus与Consul的 …
-
PostgreSQL的KPI
管数据库和管人差不多,都需要定KPI(关键性能指标)。那么数据库的KPI是什么?本文介绍了一种衡量PostgreSQL负载的方式:使用一种单一横向可比,与负载类型和机器类型基本无关的指标,名曰 PG Load(PG负载)。 0x01 Introduction 在现实生产中,经常会有衡量数据库性能与负载,评估数据库水位的需求。一种最朴素的形式就是,能不能有一个类似于KPI的单一指标,能直接了当地告诉用户他心爱的数据库负载有没有超过警戒线?工作量到底饱和不饱和? 当然这里其实隐含着一个重要信息,即用 …
管数据库和管人差不多,都需要定KPI(关键性能指标)。那么数据库的KPI是什么?本文介绍了一种衡量PostgreSQL负载的方式:使用一种单一横向可比,与负载类型和机器类型基本无关的指标,名曰 PG Load(PG负载)。 0x01 Introduction 在现实生产中,经常会有衡量数据库性能与负载,评估数据库水位的需求。一种最朴素的形式就是,能不能有一个类似于KPI的单一指标,能直接了当地告诉用户他心爱的数据库负载有没有超过警戒线?工作量到底饱和不饱和? 当然这里其实隐含着一个重要信息,即用 …
-
PG Exporter v0.2.0
变更 新增 yum 包和 Linux 服务定义 在查询配置中新增 ‘skip’ 标志 修复 pgbouncer_up 指标 新增配置重载支持 v0.2.0 发布于 2020-03-21 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 新增 yum 包和 Linux 服务定义 在查询配置中新增 ‘skip’ 标志 修复 pgbouncer_up 指标 新增配置重载支持 v0.2.0 发布于 2020-03-21 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.1.2
变更 修复 pgbouncer_up 指标 新增动态配置重载 移除 ‘shard’ 相关逻辑 在默认设置中添加 ‘bulky’ 模式 v0.1.2 发布于 2020-02-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复 pgbouncer_up 指标 新增动态配置重载 移除 ‘shard’ 相关逻辑 在默认设置中添加 ‘bulky’ 模式 v0.1.2 发布于 2020-02-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.1.1
变更 修复 pg_exporter 在启动时如果任何查询失败会挂起的 Bug。 v0.1.1 发布于 2020-01-10 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复 pg_exporter 在启动时如果任何查询失败会挂起的 Bug。 v0.1.1 发布于 2020-01-10 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.1.0
变更 可以工作了,看起来不错。 v0.1.0 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 可以工作了,看起来不错。 v0.1.0 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.5
这是一个只有 Git 标签、没有独立 GitHub Release 对象的早期版本;本文依据标签提交与历史汇总文档归档。 变更 为每个采集器查询增加超时控制 以 fatal 采集器策略替代早期的 skip_error 行为 调整采集器优先级语义 修复内置的 pg_up 指标 为每个内置采集器补充文档 这个早期版本只有仓库标签,没有单独发布为 GitHub Release。 v0.0.5 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip …
这是一个只有 Git 标签、没有独立 GitHub Release 对象的早期版本;本文依据标签提交与历史汇总文档归档。 变更 为每个采集器查询增加超时控制 以 fatal 采集器策略替代早期的 skip_error 行为 调整采集器优先级语义 修复内置的 pg_up 指标 为每个内置采集器补充文档 这个早期版本只有仓库标签,没有单独发布为 GitHub Release。 v0.0.5 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip …
-
PG Exporter v0.0.4
变更 在真实生产环境中测试了大约 2 周,200+ 节点。看起来不错! v0.0.4 发布于 2019-12-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 在真实生产环境中测试了大约 2 周,200+ 节点。看起来不错! v0.0.4 发布于 2019-12-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.3
变更 v0.0.3 发布,在生产环境中测试 此版本已在生产环境中测试。 这个项目仍在快速发展中,如果您想在生产中使用,请谨慎尝试。 v0.0.3 发布于 2019-12-14 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 v0.0.3 发布,在生产环境中测试 此版本已在生产环境中测试。 这个项目仍在快速发展中,如果您想在生产中使用,请谨慎尝试。 v0.0.3 发布于 2019-12-14 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.2
变更 现在可以尝试了 v0.0.2 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 现在可以尝试了 v0.0.2 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.1
这是一个只有 Git 标签、没有独立 GitHub Release 对象的早期版本;本文依据标签提交与历史汇总文档归档。 变更 新增 pgbouncer 模式 v0.0.1 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
这是一个只有 Git 标签、没有独立 GitHub Release 对象的早期版本;本文依据标签提交与历史汇总文档归档。 变更 新增 pgbouncer 模式 v0.0.1 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PostgreSQL监控系统概览
PostgreSQL驾驶技巧 PostgreSQL是一个很棒的数据库,但也相当复杂。上手虽简单,但想要用好不容易,想要管理好就更麻烦了。监控系统是几乎所有运维工作的基础,更亦是驾驭数据库的必备工具。用好一个监控系统,理解各种指标背后的意义并不是一件简单的事情,因此本司机决定写一系列文章,来介绍了PostgreSQL监控系统的设计,实施与使用。 0x01 PostgreSQL监控面板 为了帮助读者形成一种直觉,这里展示了在实际环境中,我所使用的监控面板。最为常用的监控面板为“单数据库实例”监控,并 …
PostgreSQL驾驶技巧 PostgreSQL是一个很棒的数据库,但也相当复杂。上手虽简单,但想要用好不容易,想要管理好就更麻烦了。监控系统是几乎所有运维工作的基础,更亦是驾驭数据库的必备工具。用好一个监控系统,理解各种指标背后的意义并不是一件简单的事情,因此本司机决定写一系列文章,来介绍了PostgreSQL监控系统的设计,实施与使用。 0x01 PostgreSQL监控面板 为了帮助读者形成一种直觉,这里展示了在实际环境中,我所使用的监控面板。最为常用的监控面板为“单数据库实例”监控,并 …
-
关系膨胀的监控与治理
PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。关系(表与索引)膨胀会对数据库性能产生负面影响,并浪费磁盘空间。为了使PostgreSQL始终保持在最佳性能,有必要及时对膨胀的关系进行垃圾回收,并定期重建过度膨胀的关系。 在实际操作中,垃圾回收并没有那么简单,这里有一系列的问题: 关系膨胀的原因? 关系膨胀的度量? 关系膨胀的监控? 关系膨胀的处理? 本文将详细说明这些问题。 关系膨胀概述 假设某个关系实际占用存储100G,但其中有很 …
PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。关系(表与索引)膨胀会对数据库性能产生负面影响,并浪费磁盘空间。为了使PostgreSQL始终保持在最佳性能,有必要及时对膨胀的关系进行垃圾回收,并定期重建过度膨胀的关系。 在实际操作中,垃圾回收并没有那么简单,这里有一系列的问题: 关系膨胀的原因? 关系膨胀的度量? 关系膨胀的监控? 关系膨胀的处理? 本文将详细说明这些问题。 关系膨胀概述 假设某个关系实际占用存储100G,但其中有很 …
-
监控PG中的表大小
表的空间布局 宽泛意义上的 表(Table),包含了 本体表 与 TOAST表 两个部分: 本体表,存储关系本身的数据,即狭义的关系,relkind='r'。 TOAST表,与本体表一一对应,存储过大的字段,relinkd='t'。 而每个表,又由 主体 与 索引 两个 关系(Relation) 组成(对本体表而言,可以没有索引关系) 主体关系:存储元组。 索引关系:存储索引元组。 每个 关系 又可能会有 四种分支: main: 关系的主文件,编号为0 fsm:保存关于main分支中空闲空间的信 …
表的空间布局 宽泛意义上的 表(Table),包含了 本体表 与 TOAST表 两个部分: 本体表,存储关系本身的数据,即狭义的关系,relkind='r'。 TOAST表,与本体表一一对应,存储过大的字段,relinkd='t'。 而每个表,又由 主体 与 索引 两个 关系(Relation) 组成(对本体表而言,可以没有索引关系) 主体关系:存储元组。 索引关系:存储索引元组。 每个 关系 又可能会有 四种分支: main: 关系的主文件,编号为0 fsm:保存关于main分支中空闲空间的信 …
-
PG服务器日志常规配置
建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。 日志相关配置项 log_destination ='csvlog' logging_collector =on log_directory ='log' log_filename ='postgresql-%a.log' log_min_duration_statement =1000 log_checkpoints =on log_lock_waits =on log_statement …
建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。 日志相关配置项 log_destination ='csvlog' logging_collector =on log_directory ='log' log_filename ='postgresql-%a.log' log_min_duration_statement =1000 log_checkpoints =on log_lock_waits =on log_statement …