从零开始学PostgreSQL (九):任务进度报告

4074cbc0b71fef3394a3dbf79c65830a.jpeg

目录

1、PostgreSQL 维护任务进度报告概述

2、ANALYZE 进度报告

3、CLUSTER 和 VACUUM FULL 进度报告

4、COPY 进度报告

5、CREATE INDEX 进度报告

6、VACUUM 进度报告

7、基础备份进度报告

8、注意事项

9、总结

PostgreSQL 维护任务进度报告概述

PostgreSQL 提供了一系列的工具和视图来帮助数据库管理员监控各种维护任务的进度。

1. ANALYZE 进度报告

ANALYZE 是一个用于收集统计信息的命令,以便优化器可以更好地决定查询计划。在 PostgreSQL 中,可以通过使用 pg_stat_progress_analyze 视图来监控 ANALYZE 进程的进度。

2. CLUSTER 和 VACUUM FULL 进度报告

CLUSTER 命令重新组织表中的行,以物理上按照索引排序的方式存储它们。VACUUM FULL 则重新排序表中的行并回收已删除行的空间。这两种命令都会重写整个表,并且可以使用 pg_stat_progress_cluster 视图来查看它们的进度。

3. COPY 进度报告

COPY 命令用于从标准输入或文件中读取数据并将其插入到表中,或者从表中读取数据并将其输出到标准输出或文件中。COPY 的进度报告可通过 pg_stat_progress_copy 视图获取。

4. CREATE INDEX 进度报告

创建索引 (CREATE INDEX) 的进度可以通过 pg_stat_progress_create_index 视图来查看。这有助于了解创建索引操作的进展情况。

5. VACUUM 进度报告

VACUUM 命令用于清理表中的废弃行并更新统计信息。VACUUM 的进度报告可以通过 pg_stat_progress_vacuum 视图获取。

6. 基础备份进度报告

基础备份是创建数据库完整副本的过程,通常用于灾难恢复。pg_basebackup 命令用于创建基础备份,其进度可以通过 pg_stat_progress_basebackup 视图来监控。

ANALYZE 进度报告

每当 ANALYZE 命令运行时,视图 pg_stat_progress_analyze 将包含一条记录,表示正在执行 ANALYZE 命令的每个后端(进程)。以下表格描述了 pg_stat_progress_analyze 视图中报告的信息及其解释。

pg_stat_progress_analyze 视图

列名

类型

描述

pid

integer

后端(进程)的 ID。

datid

oid

后端所连接数据库的 OID。

datname

name

后端所连接数据库的名称。

relid

oid

正在分析的表的 OID。

phase

text

当前处理阶段。参见下表。

sample_blks_total

bigint

将要采样的堆块总数。

sample_blks_scanned

bigint

已扫描的堆块数。

ext_stats_total

bigint

扩展统计信息的数量。

ext_stats_computed

bigint

已计算的扩展统计信息的数量。此计数器仅在 phase 为 computing extended statistics 时递增。

child_tables_total

bigint

子表的数量。

child_tables_done

bigint

已扫描的子表数量。此计数器仅在 phase 为 acquiring inherited sample rows 时递增。

current_child_table_relid

oid

当前正在扫描的子表的 OID。此字段仅在 phase 为 acquiring inherited sample rows 时有效。

ANALYZE 阶段

阶段

描述

initializing

命令正在准备开始扫描堆。这一阶段预计很短暂。

acquiring sample rows

命令正在扫描由 relid 指定的表以获取样本行。

acquiring inherited sample rows

命令正在扫描子表以获取样本行。child_tables_total, child_tables_done, 和 current_child_table_relid 列包含此阶段的进度信息。

computing statistics

命令正在根据表扫描期间获取的样本行计算统计信息。

computing extended statistics

命令正在根据表扫描期间获取的样本行计算扩展统计信息。

finalizing analyze

命令正在更新 pg_class 表。当这一阶段完成时,ANALYZE 命令将结束。

注意

当 ANALYZE 命令运行在分区表上时,其所有的子分区也会被递归分析。在这种情况下,进度首先为父表报告,其中收集继承的统计信息,然后为每个子分区报告。

通过监视 pg_stat_progress_analyze 视图,你可以了解 ANALYZE 命令的执行进度,包括扫描了多少堆块、计算了多少统计信息等。这对于理解 ANAL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值