{"Entry":{"collection":"catalog","key":"pg_stat_progress_vacuum","name":"pg_stat_progress_vacuum","aliases":[],"metadata":{"changed_in":["17","18","19"],"changes":[{"added":[],"attributes":[],"description_changed":false,"descriptions":[],"from":"9.5","order":false,"removed":[],"status":"added","to":"9.6","types":[]},{"added":[],"attributes":[],"description_changed":false,"descriptions":[{"from":"Current processing phase of vacuum. See Table 28-21.","name":"phase","to":"Current processing phase of vacuum. See Table 28.22."}],"from":"9.6","listing":[],"order":false,"removed":[],"status":"reworded","to":"10","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":true,"descriptions":[{"from":"Current processing phase of vacuum. See Table 28.22.","name":"phase","to":"Current processing phase of vacuum. See Table 27.25."}],"from":"11","listing":[],"order":false,"removed":[],"status":"reworded","to":"12","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":true,"descriptions":[{"from":"Current processing phase of vacuum. See Table 27.25.","name":"phase","to":"Current processing phase of vacuum. See Table 27.37."}],"from":"12","listing":[],"order":false,"removed":[],"status":"reworded","to":"13","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":true,"descriptions":[{"from":"Current processing phase of vacuum. See Table 27.37.","name":"phase","to":"Current processing phase of vacuum. See Table 28.39."}],"from":"13","listing":[],"order":false,"removed":[],"status":"reworded","to":"14","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":false,"descriptions":[{"from":"Current processing phase of vacuum. See Table 28.39.","name":"phase","to":"Current processing phase of vacuum. See Table 28.41."}],"from":"14","listing":[],"order":false,"removed":[],"status":"reworded","to":"15","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":true,"descriptions":[{"from":"Current processing phase of vacuum. See Table 28.41.","name":"phase","to":"Current processing phase of vacuum. See Table 28.45."}],"from":"15","listing":[],"order":false,"removed":[],"status":"reworded","to":"16","types":[],"unlisted":[]},{"added":["max_dead_tuple_bytes","dead_tuple_bytes","num_dead_item_ids","indexes_total","indexes_processed"],"attributes":[],"description_changed":true,"descriptions":[{"from":"Current processing phase of vacuum. See Table 28.45.","name":"phase","to":"Current processing phase of vacuum. See Table 27.46."}],"from":"16","listing":[],"order":false,"removed":["max_dead_tuples","num_dead_tuples"],"status":"changed","to":"17","types":[],"unlisted":[]},{"added":["delay_time"],"attributes":[],"description_changed":false,"descriptions":[],"from":"17","listing":[],"order":false,"removed":[],"status":"changed","to":"18","types":[],"unlisted":[]},{"added":["mode","started_by"],"attributes":[],"description_changed":true,"descriptions":[{"from":"Current processing phase of vacuum. See Table 27.46.","name":"phase","to":"Current processing phase of vacuum. See Table 27.51."}],"from":"18","listing":[],"order":false,"removed":[],"status":"changed","to":"19","types":[],"unlisted":[]},{"added":[],"attributes":[],"description_changed":false,"descriptions":[{"from":"Current processing phase of vacuum. See Table 27.51.","name":"phase","to":"Current processing phase of vacuum. See Table 27.52."}],"from":"19","listing":[],"order":false,"removed":[],"status":"reworded","to":"20","types":[],"unlisted":[]}],"column_count":17,"content_hash":"c3de700645e46a1b4ac0c2b10aeb6fa71b59ceda3fef9b6a66e641ddadf12659","derived_content_hash":"8904b988edc18fb485a4afaa6f81b9c3051080337a8a68c23f1c562132336380","documentation_refresh":{"batch":"20261113","original_source_rev":"catalog-bilingual-repair:f3752c354908a62c93dba6b721ff358f7c63dd6a0581899a7d6e3dfcc2c373d7","versions":{"14":"14.25","15":"15.20","16":"16.16","17":"17.12","18":"18.7","19":"19rc2"}},"first_version":"9.6","imported_at":"2026-09-30T00:40:55.955234+08:00","kind":"progress","last_version":"20","name":"pg_stat_progress_vacuum","position":101,"present_in":["9.6","10","11","12","13","14","15","16","17","18","19","20"],"relation_oid":null,"relkind":"v","shared":false,"source_rev":"catalog-bilingual-repair:f3752c354908a62c93dba6b721ff358f7c63dd6a0581899a7d6e3dfcc2c373d7","summary":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming.","summary_zh":"只要 VACUUM 正在运行，pg_stat_progress_vacuum 视图就会为每个当前正在清理的后端（包括自动清理工作进程，以及为并行清理启动的并行工作进程）包含一行。下表描述了将报告的信息，并说明如何解释这些信息。VACUUM FULL 命令的进度通过 pg_stat_progress_repack 报告，也可以通过为向后兼容而保留的 pg_stat_progress_cluster 查看，因为 VACUUM FULL 和 CLUSTER 都会重写表，而常规的 VACUUM 只会原地修改表。参见第 27.4.5 节和第 27.4.2 节。"}},"Definition":{"Collection":"catalog","Key":"pg_stat_progress_vacuum","SourceDatabase":"center","Version":"18","SourceTable":"catalog","SourceKey":"pg_stat_progress_vacuum","SourceRevision":"catalog-bilingual-repair:f3752c354908a62c93dba6b721ff358f7c63dd6a0581899a7d6e3dfcc2c373d7","Facts":{"columns":[{"array_dimensions":0,"attnum":1,"description":"Process ID of backend.","description_zh":"后端的进程 ID。","documented":true,"documented_name":"pid","hidden":false,"name":"pid","not_null":false,"references":"","type":"integer","type_modifier":-1,"type_oid":23,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":2,"description":"OID of the database to which this backend is connected.","description_zh":"后端连接到的数据库的 OID。","documented":true,"documented_name":"datid","hidden":false,"name":"datid","not_null":false,"references":"","type":"oid","type_modifier":-1,"type_oid":26,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":3,"description":"Name of the database to which this backend is connected.","description_zh":"后端连接到的数据库的名称。","documented":true,"documented_name":"datname","hidden":false,"name":"datname","not_null":false,"references":"","type":"name","type_modifier":-1,"type_oid":19,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":4,"description":"OID of the table being vacuumed.","description_zh":"正在清理的表的 OID。","documented":true,"documented_name":"relid","hidden":false,"name":"relid","not_null":false,"references":"","type":"oid","type_modifier":-1,"type_oid":26,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":5,"description":"Current processing phase of vacuum. See Table 27.46.","description_zh":"清理的当前处理阶段。参见表 27.46。","documented":true,"documented_name":"phase","hidden":false,"name":"phase","not_null":false,"references":"","type":"text","type_modifier":-1,"type_oid":25,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":6,"description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","description_zh":"该表中堆块的总数。这个数字以扫描开始时的数量为准，之后增加的块将不会（并且不需要）被这个 VACUUM 访问。","documented":true,"documented_name":"heap_blks_total","hidden":false,"name":"heap_blks_total","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":7,"description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","description_zh":"被扫描的堆块数量。由于可见性映射被用来优化扫描，一些块将被跳过而不做检查，被跳过的块会被包括在这个总数中，因此当清理完成时这个数字最终将会等于 heap_blks_total。仅当处于 scanning heap 阶段时这个计数器才会前进。","documented":true,"documented_name":"heap_blks_scanned","hidden":false,"name":"heap_blks_scanned","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":8,"description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","description_zh":"被清理的堆块数量。除非表没有索引，这个计数器仅在处于 vacuuming heap 阶段时才会前进。不包含死亡元组的块会被跳过，因此这个计数器有时可能会大幅跳增。","documented":true,"documented_name":"heap_blks_vacuumed","hidden":false,"name":"heap_blks_vacuumed","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":9,"description":"Number of completed index vacuum cycles.","description_zh":"已完成的索引清理周期数。","documented":true,"documented_name":"index_vacuum_count","hidden":false,"name":"index_vacuum_count","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":10,"description":"Amount of dead tuple data that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","description_zh":"在需要执行索引清理周期之前可存储的死亡元组数据量，取决于 maintenance_work_mem。","documented":true,"documented_name":"max_dead_tuple_bytes","hidden":false,"name":"max_dead_tuple_bytes","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":11,"description":"Amount of dead tuple data collected since the last index vacuum cycle.","description_zh":"自上一个索引清理周期以来收集到的死亡元组数据量。","documented":true,"documented_name":"dead_tuple_bytes","hidden":false,"name":"dead_tuple_bytes","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":12,"description":"Number of dead item identifiers collected since the last index vacuum cycle.","description_zh":"自上一个索引清理周期以来收集到的死项标识符数量。","documented":true,"documented_name":"num_dead_item_ids","hidden":false,"name":"num_dead_item_ids","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":13,"description":"Total number of indexes that will be vacuumed or cleaned up. This number is reported at the beginning of the vacuuming indexes phase or the cleaning up indexes phase.","description_zh":"将要执行清理或收尾清理的索引总数。该数字会在 vacuuming indexes 或 cleaning up indexes 阶段开始时报告。","documented":true,"documented_name":"indexes_total","hidden":false,"name":"indexes_total","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":14,"description":"Number of indexes processed. This counter only advances when the phase is vacuuming indexes or cleaning up indexes.","description_zh":"已处理的索引数量。该计数器只会在 vacuuming indexes 或 cleaning up indexes 阶段推进。","documented":true,"documented_name":"indexes_processed","hidden":false,"name":"indexes_processed","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":15,"description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero). This includes the time that any associated parallel workers have slept. However, parallel workers report their sleep time no more frequently than once per second, so the reported value may be slightly stale.","description_zh":"因基于代价的延迟而睡眠的总时间（参见第 19.10.2 节），以毫秒计（如果启用了 track_cost_delay_timing，否则为零）。这包括任何相关并行工作进程的睡眠时间；不过，并行工作进程最多每秒才会上报一次自己的睡眠时间，因此该值可能略有滞后。","documented":true,"documented_name":"delay_time","hidden":false,"name":"delay_time","not_null":false,"references":"","type":"double precision","type_modifier":-1,"type_oid":701,"zh_from":"same-version-manual"}],"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.2.","description_zh":"只要 VACUUM 正在运行，pg_stat_progress_vacuum 视图就会为每个当前正在清理的后端（包括自动清理工作进程）包含一行。下表描述了将报告的信息，并说明如何解释这些信息。VACUUM FULL 命令的进度通过 pg_stat_progress_cluster 报告，因为 VACUUM FULL 和 CLUSTER 都会重写表，而常规的 VACUUM 只会原地修改表。参见第 27.4.2 节。","description_zh_html":"\u003cp\u003e只要 VACUUM 正在运行，pg_stat_progress_vacuum 视图就会为每个当前正在清理的后端（包括自动清理工作进程）包含一行。下表描述了将报告的信息，并说明如何解释这些信息。VACUUM FULL 命令的进度通过 pg_stat_progress_cluster 报告，因为 VACUUM FULL 和 CLUSTER 都会重写表，而常规的 VACUUM 只会原地修改表。参见第 27.4.2 节。\u003c/p\u003e\u003cdiv class=\"table\" id=\"PG-STAT-PROGRESS-VACUUM-VIEW\"\u003e\u003cp class=\"title\"\u003e\u003cstrong\u003e表 27.45. \u003ccode class=\"structname\"\u003epg_stat_progress_vacuum\u003c/code\u003e 视图\u003c/strong\u003e\u003c/p\u003e\u003cdiv class=\"table-contents\"\u003e\u003ctable border=\"1\" class=\"table\" summary=\"pg_stat_progress_vacuum 视图\"\u003e\u003ccolgroup\u003e\u003ccol/\u003e\u003c/colgroup\u003e\u003cthead\u003e\u003ctr\u003e\u003cth class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n       列类型\n      \u003c/p\u003e\n\u003cp\u003e\n       描述\n      \u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003epid\u003c/code\u003e \u003ccode class=\"type\"\u003einteger\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       后端的进程 ID。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003edatid\u003c/code\u003e \u003ccode class=\"type\"\u003eoid\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       后端连接到的数据库的 OID。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003edatname\u003c/code\u003e \u003ccode class=\"type\"\u003ename\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       后端连接到的数据库的名称。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003erelid\u003c/code\u003e \u003ccode class=\"type\"\u003eoid\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       正在清理的表的 OID。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003ephase\u003c/code\u003e \u003ccode class=\"type\"\u003etext\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       清理的当前处理阶段。参见\u003ca class=\"xref\" href=\"/zh/docs/18/progress-reporting.html#VACUUM-PHASES\" title=\"表 27.46. VACUUM 阶段\"\u003e表 27.46\u003c/a\u003e。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003eheap_blks_total\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       该表中堆块的总数。这个数字以扫描开始时的数量为准，之后增加的块将不会（并且不需要）被这个 \u003ccode class=\"command\"\u003eVACUUM\u003c/code\u003e 访问。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003eheap_blks_scanned\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       被扫描的堆块数量。由于\u003ca class=\"link\" href=\"/zh/docs/18/storage-vm.html\" title=\"66.4. 可见性映射\"\u003e可见性映射\u003c/a\u003e被用来优化扫描，一些块将被跳过而不做检查，被跳过的块会被包括在这个总数中，因此当清理完成时这个数字最终将会等于 \u003ccode class=\"structfield\"\u003eheap_blks_total\u003c/code\u003e。仅当处于 \u003ccode class=\"literal\"\u003escanning heap\u003c/code\u003e 阶段时这个计数器才会前进。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003eheap_blks_vacuumed\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       被清理的堆块数量。除非表没有索引，这个计数器仅在处于 \u003ccode class=\"literal\"\u003evacuuming heap\u003c/code\u003e 阶段时才会前进。不包含死亡元组的块会被跳过，因此这个计数器有时可能会大幅跳增。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003eindex_vacuum_count\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       已完成的索引清理周期数。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003emax_dead_tuple_bytes\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       在需要执行索引清理周期之前可存储的死亡元组数据量，取决于 \u003ca class=\"xref\" href=\"/zh/docs/18/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM\"\u003emaintenance_work_mem\u003c/a\u003e。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003edead_tuple_bytes\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       自上一个索引清理周期以来收集到的死亡元组数据量。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003enum_dead_item_ids\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       自上一个索引清理周期以来收集到的死项标识符数量。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003eindexes_total\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       将要执行清理或收尾清理的索引总数。该数字会在 \u003ccode class=\"literal\"\u003evacuuming indexes\u003c/code\u003e 或 \u003ccode class=\"literal\"\u003ecleaning up indexes\u003c/code\u003e 阶段开始时报告。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003eindexes_processed\u003c/code\u003e \u003ccode class=\"type\"\u003ebigint\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       已处理的索引数量。该计数器只会在 \u003ccode class=\"literal\"\u003evacuuming indexes\u003c/code\u003e 或 \u003ccode class=\"literal\"\u003ecleaning up indexes\u003c/code\u003e 阶段推进。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd class=\"catalog_table_entry\"\u003e\u003cp class=\"column_definition\"\u003e\n\u003ccode class=\"structfield\"\u003edelay_time\u003c/code\u003e \u003ccode class=\"type\"\u003edouble precision\u003c/code\u003e\n\u003c/p\u003e\n\u003cp\u003e\n       因基于代价的延迟而睡眠的总时间（参见\u003ca class=\"xref\" href=\"/zh/docs/18/runtime-config-vacuum.html#RUNTIME-CONFIG-RESOURCE-VACUUM-COST\" title=\"19.10.2. 基于代价的清理延迟\"\u003e第 19.10.2 节\u003c/a\u003e），以毫秒计（如果启用了 \u003ca class=\"xref\" href=\"/zh/docs/18/runtime-config-statistics.html#GUC-TRACK-COST-DELAY-TIMING\"\u003etrack_cost_delay_timing\u003c/a\u003e，否则为零）。这包括任何相关并行工作进程的睡眠时间；不过，并行工作进程最多每秒才会上报一次自己的睡眠时间，因此该值可能略有滞后。\n      \u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/div\u003e\u003c/div\u003e","doc":{"anchor":"PG-STAT-PROGRESS-VACUUM-VIEW","file":"progress-reporting.html","lang":"en","sha256":"4a6cdd8228f2d858318f2056687ac4e2467e2c58e5fed10bdb583ba8eb66fec5","slug":"18"},"documentation_revision":{"inputs":[{"file":"progress-reporting.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"4a6cdd8228f2d858318f2056687ac4e2467e2c58e5fed10bdb583ba8eb66fec5","version":"18.7"},{"file":"progress-reporting.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"0ab33caa1959f857312f1a866b2b0f0afde18c3fd85db5d957eefa1b7a2e441f","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"},"kind":"progress","lang":"en","measured_attributes":true,"metadata_release":"18.6","runtime_columns":["pid","datid","datname","relid","phase","heap_blks_total","heap_blks_scanned","heap_blks_vacuumed","index_vacuum_count","max_dead_tuple_bytes","dead_tuple_bytes","num_dead_item_ids","indexes_total","indexes_processed","delay_time"],"runtime_verified":false,"source":"english-manual","sources":[{"evidence":[{"build_id":107,"kind":"same-version-manual","locale":"zh-Hans","page":"progress-reporting.html","sha256":"59d508f5be60d650bf0ed9ec10531162651c9eb030752aec3874544e10c879e2","source_revision":"unknown:rendered-translation-baseline","translation_revision":"git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b","version":"18"}],"kind":"catalog-bilingual-repair","prior_source_revision":"english-manuals:f0dd8219b0013a4fd9977417d3a14bc74dee685e280c664fb69ec89c8f679c63","version":"18"}],"zh_from":"same-version-manual"},"ManualEvidence":{"doc":{"anchor":"PG-STAT-PROGRESS-VACUUM-VIEW","file":"progress-reporting.html","lang":"en","sha256":"4a6cdd8228f2d858318f2056687ac4e2467e2c58e5fed10bdb583ba8eb66fec5","slug":"18"},"sources":[{"evidence":[{"build_id":107,"kind":"same-version-manual","locale":"zh-Hans","page":"progress-reporting.html","sha256":"59d508f5be60d650bf0ed9ec10531162651c9eb030752aec3874544e10c879e2","source_revision":"unknown:rendered-translation-baseline","translation_revision":"git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b","version":"18"}],"kind":"catalog-bilingual-repair","prior_source_revision":"english-manuals:f0dd8219b0013a4fd9977417d3a14bc74dee685e280c664fb69ec89c8f679c63","version":"18"}]},"MeasuredEvidence":{"measured_attributes":true,"metadata_release":"18.6","runtime_columns":["pid","datid","datname","relid","phase","heap_blks_total","heap_blks_scanned","heap_blks_vacuumed","index_vacuum_count","max_dead_tuple_bytes","dead_tuple_bytes","num_dead_item_ids","indexes_total","indexes_processed","delay_time"],"runtime_verified":false}},"Text":{"Collection":"catalog","Key":"pg_stat_progress_vacuum","SourceDatabase":"center","Version":"18","Locale":"en","Title":"pg_stat_progress_vacuum","Summary":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.2.","BodyHTML":"\u003cp\u003eWhenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.2.\u003c/p\u003e","SourceRevision":"catalog-bilingual-repair:f3752c354908a62c93dba6b721ff358f7c63dd6a0581899a7d6e3dfcc2c373d7","ContentHash":"c6d57c98ae99a58ade603ef30bf460a357893e2184c7d703250ea2f4f72c941d","Payload":{"columns":[{"array_dimensions":0,"attnum":1,"description":"Process ID of backend.","description_zh":"后端的进程 ID。","documented":true,"documented_name":"pid","hidden":false,"name":"pid","not_null":false,"references":"","type":"integer","type_modifier":-1,"type_oid":23,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":2,"description":"OID of the database to which this backend is connected.","description_zh":"后端连接到的数据库的 OID。","documented":true,"documented_name":"datid","hidden":false,"name":"datid","not_null":false,"references":"","type":"oid","type_modifier":-1,"type_oid":26,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":3,"description":"Name of the database to which this backend is connected.","description_zh":"后端连接到的数据库的名称。","documented":true,"documented_name":"datname","hidden":false,"name":"datname","not_null":false,"references":"","type":"name","type_modifier":-1,"type_oid":19,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":4,"description":"OID of the table being vacuumed.","description_zh":"正在清理的表的 OID。","documented":true,"documented_name":"relid","hidden":false,"name":"relid","not_null":false,"references":"","type":"oid","type_modifier":-1,"type_oid":26,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":5,"description":"Current processing phase of vacuum. See Table 27.46.","description_zh":"清理的当前处理阶段。参见表 27.46。","documented":true,"documented_name":"phase","hidden":false,"name":"phase","not_null":false,"references":"","type":"text","type_modifier":-1,"type_oid":25,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":6,"description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","description_zh":"该表中堆块的总数。这个数字以扫描开始时的数量为准，之后增加的块将不会（并且不需要）被这个 VACUUM 访问。","documented":true,"documented_name":"heap_blks_total","hidden":false,"name":"heap_blks_total","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":7,"description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","description_zh":"被扫描的堆块数量。由于可见性映射被用来优化扫描，一些块将被跳过而不做检查，被跳过的块会被包括在这个总数中，因此当清理完成时这个数字最终将会等于 heap_blks_total。仅当处于 scanning heap 阶段时这个计数器才会前进。","documented":true,"documented_name":"heap_blks_scanned","hidden":false,"name":"heap_blks_scanned","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":8,"description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","description_zh":"被清理的堆块数量。除非表没有索引，这个计数器仅在处于 vacuuming heap 阶段时才会前进。不包含死亡元组的块会被跳过，因此这个计数器有时可能会大幅跳增。","documented":true,"documented_name":"heap_blks_vacuumed","hidden":false,"name":"heap_blks_vacuumed","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":9,"description":"Number of completed index vacuum cycles.","description_zh":"已完成的索引清理周期数。","documented":true,"documented_name":"index_vacuum_count","hidden":false,"name":"index_vacuum_count","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":10,"description":"Amount of dead tuple data that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","description_zh":"在需要执行索引清理周期之前可存储的死亡元组数据量，取决于 maintenance_work_mem。","documented":true,"documented_name":"max_dead_tuple_bytes","hidden":false,"name":"max_dead_tuple_bytes","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":11,"description":"Amount of dead tuple data collected since the last index vacuum cycle.","description_zh":"自上一个索引清理周期以来收集到的死亡元组数据量。","documented":true,"documented_name":"dead_tuple_bytes","hidden":false,"name":"dead_tuple_bytes","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":12,"description":"Number of dead item identifiers collected since the last index vacuum cycle.","description_zh":"自上一个索引清理周期以来收集到的死项标识符数量。","documented":true,"documented_name":"num_dead_item_ids","hidden":false,"name":"num_dead_item_ids","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":13,"description":"Total number of indexes that will be vacuumed or cleaned up. This number is reported at the beginning of the vacuuming indexes phase or the cleaning up indexes phase.","description_zh":"将要执行清理或收尾清理的索引总数。该数字会在 vacuuming indexes 或 cleaning up indexes 阶段开始时报告。","documented":true,"documented_name":"indexes_total","hidden":false,"name":"indexes_total","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":14,"description":"Number of indexes processed. This counter only advances when the phase is vacuuming indexes or cleaning up indexes.","description_zh":"已处理的索引数量。该计数器只会在 vacuuming indexes 或 cleaning up indexes 阶段推进。","documented":true,"documented_name":"indexes_processed","hidden":false,"name":"indexes_processed","not_null":false,"references":"","type":"bigint","type_modifier":-1,"type_oid":20,"zh_from":"same-version-manual"},{"array_dimensions":0,"attnum":15,"description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero). This includes the time that any associated parallel workers have slept. However, parallel workers report their sleep time no more frequently than once per second, so the reported value may be slightly stale.","description_zh":"因基于代价的延迟而睡眠的总时间（参见第 19.10.2 节），以毫秒计（如果启用了 track_cost_delay_timing，否则为零）。这包括任何相关并行工作进程的睡眠时间；不过，并行工作进程最多每秒才会上报一次自己的睡眠时间，因此该值可能略有滞后。","documented":true,"documented_name":"delay_time","hidden":false,"name":"delay_time","not_null":false,"references":"","type":"double precision","type_modifier":-1,"type_oid":701,"zh_from":"same-version-manual"}],"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.2."}},"RequestedLocale":"en","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
