1 /* ---------- 2 * backend_progress.h 3 * Command progress reporting definition. 4 * 5 * Note that this file provides the infrastructure for storing a single 6 * backend's command progress counters, without ascribing meaning to the 7 * individual fields. See commands/progress.h and system_views.sql for that. 8 * 9 * Copyright (c) 2001-2021, PostgreSQL Global Development Group 10 * 11 * src/include/utils/backend_progress.h 12 * ---------- 13 */ 14 #ifndef BACKEND_PROGRESS_H 15 #define BACKEND_PROGRESS_H 16 17 18 /* ---------- 19 * Command type for progress reporting purposes 20 * ---------- 21 */ 22 typedef enum ProgressCommandType 23 { 24 PROGRESS_COMMAND_INVALID, 25 PROGRESS_COMMAND_VACUUM, 26 PROGRESS_COMMAND_ANALYZE, 27 PROGRESS_COMMAND_CLUSTER, 28 PROGRESS_COMMAND_CREATE_INDEX, 29 PROGRESS_COMMAND_BASEBACKUP, 30 PROGRESS_COMMAND_COPY 31 } ProgressCommandType; 32 33 #define PGSTAT_NUM_PROGRESS_PARAM 20 34 35 36 extern void pgstat_progress_start_command(ProgressCommandType cmdtype, 37 Oid relid); 38 extern void pgstat_progress_update_param(int index, int64 val); 39 extern void pgstat_progress_update_multi_param(int nparam, const int *index, 40 const int64 *val); 41 extern void pgstat_progress_end_command(void); 42 43 44 #endif /* BACKEND_PROGRESS_H */ 45