贝特朗·德鲁沃:Postgres 后端统计(第二部分):WAL 统计
💡
原文英文,约1200词,阅读约需5分钟。
📝
内容提要
PostgreSQL 18将新增pg_stat_get_backend_io()和pg_stat_get_backend_wal()函数,提供每个后端的WAL IO和统计信息,帮助用户监控WAL活动并进行深入查询分析。
🎯
关键要点
- PostgreSQL 18将新增pg_stat_get_backend_io()和pg_stat_get_backend_wal()函数。
- pg_stat_get_backend_io()函数提供每个后端的WAL IO统计信息。
- pg_stat_get_backend_wal()函数提供每个后端的WAL统计信息。
- 用户可以监控每个后端的WAL活动,进行深入查询分析。
- 需要启用track_wal_io_timing才能查看WAL对象的IO时间。
- pg_stat_get_backend_io()可以与pg_stat_activity结合使用,以找出生成最多WAL字节的后端。
- pg_stat_get_backend_wal()也可以与pg_stat_activity结合使用,以获取每个应用程序生成的WAL记录数量及其比例。
- pg_stat_get_backend_wal()提供的WAL字节与pg_stat_get_backend_io()提供的度量粒度不同。
- 每个后端的WAL统计信息在服务器重启后不会持久化。
- 新函数使得用户能够构建有洞察力的查询。
❓
延伸问答
PostgreSQL 18中新增了哪些与WAL相关的函数?
PostgreSQL 18中新增了pg_stat_get_backend_io()和pg_stat_get_backend_wal()函数。
如何使用pg_stat_get_backend_io()函数监控WAL活动?
可以通过pg_stat_get_backend_io()函数结合pg_stat_activity来监控每个后端的WAL IO统计信息。
pg_stat_get_backend_wal()函数提供了哪些统计信息?
pg_stat_get_backend_wal()函数提供每个后端生成的WAL记录数量及其比例。
使用pg_stat_get_backend_io()时需要注意什么?
需要启用track_wal_io_timing才能查看WAL对象的IO时间。
pg_stat_get_backend_io()和pg_stat_get_backend_wal()的度量粒度有什么不同?
pg_stat_get_backend_io()关注WAL块大小,而pg_stat_get_backend_wal()关注WAL记录大小。
WAL统计信息在服务器重启后会持久化吗?
每个后端的WAL统计信息在服务器重启后不会持久化。
➡️