PostgreSQL pg_stat_progress_cluster 查看 vacuum full 进度

PostgreSQL About 1,603 words

说明

pg_stat_progress_cluster查看的是vacuum full的进度,不显示vacuum的进度。

vacuum的进度使用pg_stat_progress_vacuum查看。

SQL

select * from pg_stat_progress_cluster;

输出

postgres=# select * from pg_stat_progress_cluster;
-[ RECORD 1 ]-------+------------------
pid                 | 635
datid               | 5
datname             | postgres
relid               | 90231
command             | VACUUM FULL
phase               | seq scanning heap
cluster_index_relid | 0
heap_tuples_scanned | 127002
heap_tuples_written | 127002
heap_blks_total     | 3279
heap_blks_scanned   | 2083
index_rebuild_count | 0

含义

列名 类型 描述
pid integer 后端进程的进程 ID
datid oid 后端连接的数据库的 OID
datname name 后端连接的数据库的名称
relid oid 正在进行 CLUSTER 操作的表的 OID(引用 pg_class.oid
command text 当前运行的命令,例如 CLUSTER 或 VACUUM FULL
phase text 当前 CLUSTER 操作的阶段,详见下方的 phase 描述
cluster_index_relid oid 如果正在使用索引扫描表,这是正在使用的索引的 OID(引用 pg_class.oid),否则为零
heap_tuples_scanned bigint 已扫描的表中的元组数量
heap_tuples_written bigint 已写入新表中的元组数量
heap_blks_total bigint 表中的堆块总数,这个值在扫描开始时报告
heap_blks_scanned bigint 已扫描的堆块数量,这个计数器只在阶段为顺序扫描堆、索引扫描堆或写入新堆时推进
index_rebuild_count bigint 重新构建的索引数量,这个计数器只在阶段为重新构建索引时推进

phase 状态

phase 含义
initializing 命令正在准备开始扫描堆,这个阶段预计会非常短暂
seq scanning heap 命令正在使用顺序扫描对表进行扫描
index scanning heap CLUSTER 正在使用索引扫描对表进行扫描
sorting tuples CLUSTER 正在对元组进行排序
writing new heap CLUSTER 正在将排序后的元组写入新堆
swapping relation files 命令正在交换新构建的文件到位
rebuilding index 命令正在重新构建索引
performing final cleanup 命令正在执行最终清理。当此阶段完成后,CLUSTER 或 VACUUM FULL 将结束

官方文档

https://www.postgresql.org/docs/17/progress-reporting.html#CLUSTER-PROGRESS-REPORTING

Views: 23 · Posted: 2025-02-24

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh