2
0

backend_progress.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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-2022, 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. * Command type for progress reporting purposes
  18. * ----------
  19. */
  20. typedef enum ProgressCommandType
  21. {
  22. PROGRESS_COMMAND_INVALID,
  23. PROGRESS_COMMAND_VACUUM,
  24. PROGRESS_COMMAND_ANALYZE,
  25. PROGRESS_COMMAND_CLUSTER,
  26. PROGRESS_COMMAND_CREATE_INDEX,
  27. PROGRESS_COMMAND_BASEBACKUP,
  28. PROGRESS_COMMAND_COPY
  29. } ProgressCommandType;
  30. #define PGSTAT_NUM_PROGRESS_PARAM 20
  31. extern void pgstat_progress_start_command(ProgressCommandType cmdtype,
  32. Oid relid);
  33. extern void pgstat_progress_update_param(int index, int64 val);
  34. extern void pgstat_progress_update_multi_param(int nparam, const int *index,
  35. const int64 *val);
  36. extern void pgstat_progress_end_command(void);
  37. #endif /* BACKEND_PROGRESS_H */