codekingpro/portable-devtools
115k
1/*-------------------------------------------------------------------------2 *3 * progress.h4 * Constants used with the progress reporting facilities defined in5 * backend_status.h. These are possibly interesting to extensions, so we6 * expose them via this header file. Note that if you update these7 * constants, you probably also need to update the views based on them8 * in system_views.sql.9 *10 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group11 * Portions Copyright (c) 1994, Regents of the University of California12 *13 * src/include/commands/progress.h14 *15 *-------------------------------------------------------------------------16 */17#ifndef PROGRESS_H18#define PROGRESS_H19 20/* Progress parameters for (lazy) vacuum */21#define PROGRESS_VACUUM_PHASE 022#define PROGRESS_VACUUM_TOTAL_HEAP_BLKS 123#define PROGRESS_VACUUM_HEAP_BLKS_SCANNED 224#define PROGRESS_VACUUM_HEAP_BLKS_VACUUMED 325#define PROGRESS_VACUUM_NUM_INDEX_VACUUMS 426#define PROGRESS_VACUUM_MAX_DEAD_TUPLES 527#define PROGRESS_VACUUM_NUM_DEAD_TUPLES 628 29/* Phases of vacuum (as advertised via PROGRESS_VACUUM_PHASE) */30#define PROGRESS_VACUUM_PHASE_SCAN_HEAP 131#define PROGRESS_VACUUM_PHASE_VACUUM_INDEX 232#define PROGRESS_VACUUM_PHASE_VACUUM_HEAP 333#define PROGRESS_VACUUM_PHASE_INDEX_CLEANUP 434#define PROGRESS_VACUUM_PHASE_TRUNCATE 535#define PROGRESS_VACUUM_PHASE_FINAL_CLEANUP 636 37/* Progress parameters for analyze */38#define PROGRESS_ANALYZE_PHASE 039#define PROGRESS_ANALYZE_BLOCKS_TOTAL 140#define PROGRESS_ANALYZE_BLOCKS_DONE 241#define PROGRESS_ANALYZE_EXT_STATS_TOTAL 342#define PROGRESS_ANALYZE_EXT_STATS_COMPUTED 443#define PROGRESS_ANALYZE_CHILD_TABLES_TOTAL 544#define PROGRESS_ANALYZE_CHILD_TABLES_DONE 645#define PROGRESS_ANALYZE_CURRENT_CHILD_TABLE_RELID 746 47/* Phases of analyze (as advertised via PROGRESS_ANALYZE_PHASE) */48#define PROGRESS_ANALYZE_PHASE_ACQUIRE_SAMPLE_ROWS 149#define PROGRESS_ANALYZE_PHASE_ACQUIRE_SAMPLE_ROWS_INH 250#define PROGRESS_ANALYZE_PHASE_COMPUTE_STATS 351#define PROGRESS_ANALYZE_PHASE_COMPUTE_EXT_STATS 452#define PROGRESS_ANALYZE_PHASE_FINALIZE_ANALYZE 553 54/* Progress parameters for cluster */55#define PROGRESS_CLUSTER_COMMAND 056#define PROGRESS_CLUSTER_PHASE 157#define PROGRESS_CLUSTER_INDEX_RELID 258#define PROGRESS_CLUSTER_HEAP_TUPLES_SCANNED 359#define PROGRESS_CLUSTER_HEAP_TUPLES_WRITTEN 460#define PROGRESS_CLUSTER_TOTAL_HEAP_BLKS 561#define PROGRESS_CLUSTER_HEAP_BLKS_SCANNED 662#define PROGRESS_CLUSTER_INDEX_REBUILD_COUNT 763 64/* Phases of cluster (as advertised via PROGRESS_CLUSTER_PHASE) */65#define PROGRESS_CLUSTER_PHASE_SEQ_SCAN_HEAP 166#define PROGRESS_CLUSTER_PHASE_INDEX_SCAN_HEAP 267#define PROGRESS_CLUSTER_PHASE_SORT_TUPLES 368#define PROGRESS_CLUSTER_PHASE_WRITE_NEW_HEAP 469#define PROGRESS_CLUSTER_PHASE_SWAP_REL_FILES 570#define PROGRESS_CLUSTER_PHASE_REBUILD_INDEX 671#define PROGRESS_CLUSTER_PHASE_FINAL_CLEANUP 772 73/* Commands of PROGRESS_CLUSTER */74#define PROGRESS_CLUSTER_COMMAND_CLUSTER 175#define PROGRESS_CLUSTER_COMMAND_VACUUM_FULL 276 77/* Progress parameters for CREATE INDEX */78/* 3, 4 and 5 reserved for "waitfor" metrics */79#define PROGRESS_CREATEIDX_COMMAND 080#define PROGRESS_CREATEIDX_INDEX_OID 681#define PROGRESS_CREATEIDX_ACCESS_METHOD_OID 882#define PROGRESS_CREATEIDX_PHASE 9 /* AM-agnostic phase # */83#define PROGRESS_CREATEIDX_SUBPHASE 10 /* phase # filled by AM */84#define PROGRESS_CREATEIDX_TUPLES_TOTAL 1185#define PROGRESS_CREATEIDX_TUPLES_DONE 1286#define PROGRESS_CREATEIDX_PARTITIONS_TOTAL 1387#define PROGRESS_CREATEIDX_PARTITIONS_DONE 1488/* 15 and 16 reserved for "block number" metrics */89 90/* Phases of CREATE INDEX (as advertised via PROGRESS_CREATEIDX_PHASE) */91#define PROGRESS_CREATEIDX_PHASE_WAIT_1 192#define PROGRESS_CREATEIDX_PHASE_BUILD 293#define PROGRESS_CREATEIDX_PHASE_WAIT_2 394#define PROGRESS_CREATEIDX_PHASE_VALIDATE_IDXSCAN 495#define PROGRESS_CREATEIDX_PHASE_VALIDATE_SORT 596#define PROGRESS_CREATEIDX_PHASE_VALIDATE_TABLESCAN 697#define PROGRESS_CREATEIDX_PHASE_WAIT_3 798#define PROGRESS_CREATEIDX_PHASE_WAIT_4 899#define PROGRESS_CREATEIDX_PHASE_WAIT_5 9100 101/*102 * Subphases of CREATE INDEX, for index_build.103 */104#define PROGRESS_CREATEIDX_SUBPHASE_INITIALIZE 1105/* Additional phases are defined by each AM */106 107/* Commands of PROGRESS_CREATEIDX */108#define PROGRESS_CREATEIDX_COMMAND_CREATE 1109#define PROGRESS_CREATEIDX_COMMAND_CREATE_CONCURRENTLY 2110#define PROGRESS_CREATEIDX_COMMAND_REINDEX 3111#define PROGRESS_CREATEIDX_COMMAND_REINDEX_CONCURRENTLY 4112 113/* Lock holder wait counts */114#define PROGRESS_WAITFOR_TOTAL 3115#define PROGRESS_WAITFOR_DONE 4116#define PROGRESS_WAITFOR_CURRENT_PID 5117 118/* Block numbers in a generic relation scan */119#define PROGRESS_SCAN_BLOCKS_TOTAL 15120#define PROGRESS_SCAN_BLOCKS_DONE 16121 122/* Progress parameters for pg_basebackup */123#define PROGRESS_BASEBACKUP_PHASE 0124#define PROGRESS_BASEBACKUP_BACKUP_TOTAL 1125#define PROGRESS_BASEBACKUP_BACKUP_STREAMED 2126#define PROGRESS_BASEBACKUP_TBLSPC_TOTAL 3127#define PROGRESS_BASEBACKUP_TBLSPC_STREAMED 4128 129/* Phases of pg_basebackup (as advertised via PROGRESS_BASEBACKUP_PHASE) */130#define PROGRESS_BASEBACKUP_PHASE_WAIT_CHECKPOINT 1131#define PROGRESS_BASEBACKUP_PHASE_ESTIMATE_BACKUP_SIZE 2132#define PROGRESS_BASEBACKUP_PHASE_STREAM_BACKUP 3133#define PROGRESS_BASEBACKUP_PHASE_WAIT_WAL_ARCHIVE 4134#define PROGRESS_BASEBACKUP_PHASE_TRANSFER_WAL 5135 136/* Progress parameters for PROGRESS_COPY */137#define PROGRESS_COPY_BYTES_PROCESSED 0138#define PROGRESS_COPY_BYTES_TOTAL 1139#define PROGRESS_COPY_TUPLES_PROCESSED 2140#define PROGRESS_COPY_TUPLES_EXCLUDED 3141#define PROGRESS_COPY_COMMAND 4142#define PROGRESS_COPY_TYPE 5143 144/* Commands of COPY (as advertised via PROGRESS_COPY_COMMAND) */145#define PROGRESS_COPY_COMMAND_FROM 1146#define PROGRESS_COPY_COMMAND_TO 2147 148/* Types of COPY commands (as advertised via PROGRESS_COPY_TYPE) */149#define PROGRESS_COPY_TYPE_FILE 1150#define PROGRESS_COPY_TYPE_PROGRAM 2151#define PROGRESS_COPY_TYPE_PIPE 3152#define PROGRESS_COPY_TYPE_CALLBACK 4153 154#endif155 