git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0d5c387)
pgstat: introduce PgStat_Kind enum.
Thu, 7 Apr 2022 00:56:19 +0000 (17:56 -0700)
Thu, 7 Apr 2022 00:56:19 +0000 (17:56 -0700)
Will be used by following commits to generalize stats infrastructure. Kept
separate to allow commits stand reasonably on their own.

Reviewed-By: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Discussion: https://postgr.es/m/20220404041516.cctrvpadhuriawlq@alap3.anarazel.de


diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index ed141f2d2fd7221164a40146103e4944d7d4a83d..1bd1c5cf7b0caa5a0e1c58d75046713a2b47fdd4 100644 (file)
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -33,6 +33,30 @@
/* Default directory to store temporary statistics data in */
#define PG_STAT_TMP_DIR "pg_stat_tmp"
+/* The types of statistics entries */
+typedef enum PgStat_Kind
+{
+ /* use 0 for INVALID, to catch zero-initialized data */
+ PGSTAT_KIND_INVALID = 0,
+
+ /* stats for variable-numbered objects */
+ PGSTAT_KIND_DATABASE, /* database-wide statistics */
+ PGSTAT_KIND_RELATION, /* per-table statistics */
+ PGSTAT_KIND_FUNCTION, /* per-function statistics */
+ PGSTAT_KIND_REPLSLOT, /* per-slot statistics */
+ PGSTAT_KIND_SUBSCRIPTION, /* per-subscription statistics */
+
+ /* stats for fixed-numbered objects */
+ PGSTAT_KIND_ARCHIVER,
+ PGSTAT_KIND_BGWRITER,
+ PGSTAT_KIND_CHECKPOINTER,
+ PGSTAT_KIND_SLRU,
+ PGSTAT_KIND_WAL,
+} PgStat_Kind;
+
+#define PGSTAT_KIND_FIRST_VALID PGSTAT_KIND_DATABASE
+#define PGSTAT_KIND_LAST PGSTAT_KIND_WAL
+#define PGSTAT_NUM_KINDS (PGSTAT_KIND_LAST + 1)
/* Values for track_functions GUC variable --- order is significant! */
typedef enum TrackFunctionsLevel
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index 9b4f77fbf18ecaea8ed5ca0301eb87999127677c..e1684d4caec52b02d0f3fbfc173a5fc6c8d87199 100644 (file)
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -1942,6 +1942,7 @@ PgStat_FunctionCallUsage
PgStat_FunctionCounts
PgStat_FunctionEntry
PgStat_GlobalStats
+PgStat_Kind
PgStat_Msg
PgStat_MsgAnalyze
PgStat_MsgAnlAncestors
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /