Hi hackers,

Please find attached a patch proposal to $SUBJECT.

The idea has been proposed by Andres in [1] and can be seen as preparatory work 
for [1].

The patch introduces 2 new Macros, PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR and 
PGSTAT_DEFINE_REL_TSTZ_FIELD_ACCESSOR.

For some functions (namely pg_stat_get_ins_since_vacuum(), 
pg_stat_get_dead_tuples(), pg_stat_get_mod_since_analyze(),
pg_stat_get_live_tuples(), pg_stat_get_last_autovacuum_time(), 
pg_stat_get_autovacuum_count(), pg_stat_get_last_vacuum_time(),
pg_stat_get_last_autoanalyze_time(), pg_stat_get_autoanalyze_count() and 
pg_stat_get_last_analyze_time()), I had to choose between renaming the function 
and the counter.

I took the later option to avoid changing the linked views, tests....

This patch is also a step forward to "cleaning" the metrics/fields/functions 
naming (means having them match).

[1]: 
https://www.postgresql.org/message-id/flat/f572abe7-a1bb-e13b-48c7-2ca150546...@gmail.com

Looking forward to your feedback,

Regards,

--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
diff --git a/src/backend/access/heap/README.HOT 
b/src/backend/access/heap/README.HOT
index 68c6709aa8..6fd1767f70 100644
--- a/src/backend/access/heap/README.HOT
+++ b/src/backend/access/heap/README.HOT
@@ -271,7 +271,7 @@ physical tuple by eliminating an intermediate heap-only 
tuple or
 replacing a physical root tuple by a redirect pointer, a decrement in
 the table's number of dead tuples is reported to pgstats, which may
 postpone autovacuuming.  Note that we do not count replacing a root tuple
-by a DEAD line pointer as decrementing n_dead_tuples; we still want
+by a DEAD line pointer as decrementing dead_tuples; we still want
 autovacuum to run to clean up the index entries and DEAD item.
 
 This area probably needs further work ...
diff --git a/src/backend/postmaster/autovacuum.c 
b/src/backend/postmaster/autovacuum.c
index 601834d4b4..0746d80224 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -3081,9 +3081,9 @@ relation_needs_vacanalyze(Oid relid,
        if (PointerIsValid(tabentry) && AutoVacuumingActive())
        {
                reltuples = classForm->reltuples;
-               vactuples = tabentry->n_dead_tuples;
-               instuples = tabentry->inserts_since_vacuum;
-               anltuples = tabentry->changes_since_analyze;
+               vactuples = tabentry->dead_tuples;
+               instuples = tabentry->ins_since_vacuum;
+               anltuples = tabentry->mod_since_analyze;
 
                /* If the table hasn't yet been vacuumed, take reltuples as 
zero */
                if (reltuples < 0)
diff --git a/src/backend/utils/activity/pgstat_relation.c 
b/src/backend/utils/activity/pgstat_relation.c
index f92e16e7af..a9c05153d9 100644
--- a/src/backend/utils/activity/pgstat_relation.c
+++ b/src/backend/utils/activity/pgstat_relation.c
@@ -231,8 +231,8 @@ pgstat_report_vacuum(Oid tableoid, bool shared,
        shtabentry = (PgStatShared_Relation *) entry_ref->shared_stats;
        tabentry = &shtabentry->stats;
 
-       tabentry->n_live_tuples = livetuples;
-       tabentry->n_dead_tuples = deadtuples;
+       tabentry->live_tuples = livetuples;
+       tabentry->dead_tuples = deadtuples;
 
        /*
         * It is quite possible that a non-aggressive VACUUM ended up skipping
@@ -244,16 +244,16 @@ pgstat_report_vacuum(Oid tableoid, bool shared,
         * autovacuum.  An anti-wraparound autovacuum will catch any persistent
         * stragglers.
         */
-       tabentry->inserts_since_vacuum = 0;
+       tabentry->ins_since_vacuum = 0;
 
        if (IsAutoVacuumWorkerProcess())
        {
-               tabentry->autovac_vacuum_timestamp = ts;
-               tabentry->autovac_vacuum_count++;
+               tabentry->last_autovacuum_time = ts;
+               tabentry->autovacuum_count++;
        }
        else
        {
-               tabentry->vacuum_timestamp = ts;
+               tabentry->last_vacuum_time = ts;
                tabentry->vacuum_count++;
        }
 
@@ -264,7 +264,7 @@ pgstat_report_vacuum(Oid tableoid, bool shared,
  * Report that the table was just analyzed.
  *
  * Caller must provide new live- and dead-tuples estimates, as well as a
- * flag indicating whether to reset the changes_since_analyze counter.
+ * flag indicating whether to reset the mod_since_analyze counter.
  */
 void
 pgstat_report_analyze(Relation rel,
@@ -318,25 +318,25 @@ pgstat_report_analyze(Relation rel,
        shtabentry = (PgStatShared_Relation *) entry_ref->shared_stats;
        tabentry = &shtabentry->stats;
 
-       tabentry->n_live_tuples = livetuples;
-       tabentry->n_dead_tuples = deadtuples;
+       tabentry->live_tuples = livetuples;
+       tabentry->dead_tuples = deadtuples;
 
        /*
-        * If commanded, reset changes_since_analyze to zero.  This forgets any
+        * If commanded, reset mod_since_analyze to zero.  This forgets any
         * changes that were committed while the ANALYZE was in progress, but we
         * have no good way to estimate how many of those there were.
         */
        if (resetcounter)
-               tabentry->changes_since_analyze = 0;
+               tabentry->mod_since_analyze = 0;
 
        if (IsAutoVacuumWorkerProcess())
        {
-               tabentry->autovac_analyze_timestamp = GetCurrentTimestamp();
-               tabentry->autovac_analyze_count++;
+               tabentry->last_autoanalyze_time = GetCurrentTimestamp();
+               tabentry->autoanalyze_count++;
        }
        else
        {
-               tabentry->analyze_timestamp = GetCurrentTimestamp();
+               tabentry->last_analyze_time = GetCurrentTimestamp();
                tabentry->analyze_count++;
        }
 
@@ -798,22 +798,22 @@ pgstat_relation_flush_cb(PgStat_EntryRef *entry_ref, bool 
nowait)
         */
        if (lstats->t_counts.t_truncdropped)
        {
-               tabentry->n_live_tuples = 0;
-               tabentry->n_dead_tuples = 0;
-               tabentry->inserts_since_vacuum = 0;
+               tabentry->live_tuples = 0;
+               tabentry->dead_tuples = 0;
+               tabentry->ins_since_vacuum = 0;
        }
 
-       tabentry->n_live_tuples += lstats->t_counts.t_delta_live_tuples;
-       tabentry->n_dead_tuples += lstats->t_counts.t_delta_dead_tuples;
-       tabentry->changes_since_analyze += lstats->t_counts.t_changed_tuples;
-       tabentry->inserts_since_vacuum += lstats->t_counts.t_tuples_inserted;
+       tabentry->live_tuples += lstats->t_counts.t_delta_live_tuples;
+       tabentry->dead_tuples += lstats->t_counts.t_delta_dead_tuples;
+       tabentry->mod_since_analyze += lstats->t_counts.t_changed_tuples;
+       tabentry->ins_since_vacuum += lstats->t_counts.t_tuples_inserted;
        tabentry->blocks_fetched += lstats->t_counts.t_blocks_fetched;
        tabentry->blocks_hit += lstats->t_counts.t_blocks_hit;
 
-       /* Clamp n_live_tuples in case of negative delta_live_tuples */
-       tabentry->n_live_tuples = Max(tabentry->n_live_tuples, 0);
-       /* Likewise for n_dead_tuples */
-       tabentry->n_dead_tuples = Max(tabentry->n_dead_tuples, 0);
+       /* Clamp live_tuples in case of negative delta_live_tuples */
+       tabentry->live_tuples = Max(tabentry->live_tuples, 0);
+       /* Likewise for dead_tuples */
+       tabentry->dead_tuples = Max(tabentry->dead_tuples, 0);
 
        pgstat_unlock_entry(entry_ref);
 
diff --git a/src/backend/utils/adt/pgstatfuncs.c 
b/src/backend/utils/adt/pgstatfuncs.c
index ae3365d917..b79e6a2133 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -36,363 +36,106 @@
 
 #define HAS_PGSTAT_PERMISSIONS(role)    (has_privs_of_role(GetUserId(), 
ROLE_PG_READ_ALL_STATS) || has_privs_of_role(GetUserId(), role))
 
-Datum
-pg_stat_get_numscans(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->numscans);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_lastscan(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       TimestampTz result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = tabentry->lastscan;
-
-       if (result == 0)
-               PG_RETURN_NULL();
-       else
-               PG_RETURN_TIMESTAMPTZ(result);
-}
-
-
-Datum
-pg_stat_get_tuples_returned(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->tuples_returned);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_tuples_fetched(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->tuples_fetched);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_tuples_inserted(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->tuples_inserted);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_tuples_updated(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->tuples_updated);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_tuples_deleted(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->tuples_deleted);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_tuples_hot_updated(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->tuples_hot_updated);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_live_tuples(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->n_live_tuples);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_dead_tuples(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->n_dead_tuples);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_mod_since_analyze(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->changes_since_analyze);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_ins_since_vacuum(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->inserts_since_vacuum);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_blocks_fetched(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->blocks_fetched);
-
-       PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_blocks_hit(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->blocks_hit);
-
-       PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_last_vacuum_time(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       TimestampTz result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = tabentry->vacuum_timestamp;
-
-       if (result == 0)
-               PG_RETURN_NULL();
-       else
-               PG_RETURN_TIMESTAMPTZ(result);
-}
-
-Datum
-pg_stat_get_last_autovacuum_time(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       TimestampTz result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = tabentry->autovac_vacuum_timestamp;
-
-       if (result == 0)
-               PG_RETURN_NULL();
-       else
-               PG_RETURN_TIMESTAMPTZ(result);
-}
-
-Datum
-pg_stat_get_last_analyze_time(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       TimestampTz result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = tabentry->analyze_timestamp;
-
-       if (result == 0)
-               PG_RETURN_NULL();
-       else
-               PG_RETURN_TIMESTAMPTZ(result);
-}
-
-Datum
-pg_stat_get_last_autoanalyze_time(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       TimestampTz result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = tabentry->autovac_analyze_timestamp;
-
-       if (result == 0)
-               PG_RETURN_NULL();
-       else
-               PG_RETURN_TIMESTAMPTZ(result);
-}
-
-Datum
-pg_stat_get_vacuum_count(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->vacuum_count);
-
-       PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_autovacuum_count(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->autovac_vacuum_count);
-
-       PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_analyze_count(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->analyze_count);
-
-       PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_autoanalyze_count(PG_FUNCTION_ARGS)
-{
-       Oid                     relid = PG_GETARG_OID(0);
-       int64           result;
-       PgStat_StatTabEntry *tabentry;
-
-       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
-               result = 0;
-       else
-               result = (int64) (tabentry->autovac_analyze_count);
-
-       PG_RETURN_INT64(result);
-}
+#define PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(function_name_prefix, 
stat_name) \
+Datum \
+CppConcat(function_name_prefix,stat_name)(PG_FUNCTION_ARGS) \
+{ \
+       Oid                     relid = PG_GETARG_OID(0); \
+       int64           result; \
+       PgStat_StatTabEntry *tabentry; \
+       \
+       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL) \
+               result = 0; \
+       else \
+               result = (int64) (tabentry->stat_name); \
+       \
+       PG_RETURN_INT64(result); \
+} \
+
+#define PGSTAT_DEFINE_REL_TSTZ_FIELD_ACCESSOR(function_name_prefix, stat_name) 
\
+Datum \
+CppConcat(function_name_prefix,stat_name)(PG_FUNCTION_ARGS) \
+{ \
+       Oid                     relid = PG_GETARG_OID(0); \
+       TimestampTz result; \
+       PgStat_StatTabEntry *tabentry; \
+       \
+       if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL) \
+               result = 0; \
+       else \
+               result = tabentry->stat_name; \
+       \
+       if (result == 0) \
+               PG_RETURN_NULL(); \
+       else \
+               PG_RETURN_TIMESTAMPTZ(result); \
+} \
+
+/* pg_stat_get_numscans */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, numscans);
+
+/* pg_stat_get_tuples_returned */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, tuples_returned);
+
+/* pg_stat_get_tuples_fetched */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, tuples_fetched);
+
+/* pg_stat_get_tuples_inserted */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, tuples_inserted);
+
+/* pg_stat_get_tuples_updated */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, tuples_updated);
+
+/* pg_stat_get_tuples_deleted */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, tuples_deleted);
+
+/* pg_stat_get_tuples_hot_updated */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, tuples_hot_updated);
+
+/* pg_stat_get_live_tuples */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, live_tuples);
+
+/* pg_stat_get_dead_tuples */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, dead_tuples);
+
+/* pg_stat_get_mod_since_analyze */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, mod_since_analyze);
+
+/* pg_stat_get_ins_since_vacuum */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, ins_since_vacuum);
+
+/* pg_stat_get_blocks_fetched */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, blocks_fetched);
+
+/* pg_stat_get_blocks_hit */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, blocks_hit);
+
+/* pg_stat_get_vacuum_count */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, vacuum_count);
+
+/* pg_stat_get_autovacuum_count */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, autovacuum_count);
+
+/* pg_stat_get_analyze_count */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, analyze_count);
+
+/* pg_stat_get_autoanalyze_count */
+PGSTAT_DEFINE_REL_INT64_FIELD_ACCESSOR(pg_stat_get_, autoanalyze_count);
+
+/* pg_stat_get_lastscan */
+PGSTAT_DEFINE_REL_TSTZ_FIELD_ACCESSOR(pg_stat_get_, lastscan);
+
+/* pg_stat_get_last_vacuum_time */
+PGSTAT_DEFINE_REL_TSTZ_FIELD_ACCESSOR(pg_stat_get_, last_vacuum_time);
+
+/* pg_stat_get_last_autovacuum_time */
+PGSTAT_DEFINE_REL_TSTZ_FIELD_ACCESSOR(pg_stat_get_, last_autovacuum_time);
+
+/* pg_stat_get_last_analyze_time */
+PGSTAT_DEFINE_REL_TSTZ_FIELD_ACCESSOR(pg_stat_get_, last_analyze_time);
+
+/* pg_stat_get_last_autoanalyze_time */
+PGSTAT_DEFINE_REL_TSTZ_FIELD_ACCESSOR(pg_stat_get_, last_autoanalyze_time);
 
 Datum
 pg_stat_get_function_calls(PG_FUNCTION_ARGS)
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index 9e2ce6f011..bc6349727b 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -364,22 +364,22 @@ typedef struct PgStat_StatTabEntry
        PgStat_Counter tuples_deleted;
        PgStat_Counter tuples_hot_updated;
 
-       PgStat_Counter n_live_tuples;
-       PgStat_Counter n_dead_tuples;
-       PgStat_Counter changes_since_analyze;
-       PgStat_Counter inserts_since_vacuum;
+       PgStat_Counter live_tuples;
+       PgStat_Counter dead_tuples;
+       PgStat_Counter mod_since_analyze;
+       PgStat_Counter ins_since_vacuum;
 
        PgStat_Counter blocks_fetched;
        PgStat_Counter blocks_hit;
 
-       TimestampTz vacuum_timestamp;   /* user initiated vacuum */
+       TimestampTz last_vacuum_time;   /* user initiated vacuum */
        PgStat_Counter vacuum_count;
-       TimestampTz autovac_vacuum_timestamp;   /* autovacuum initiated */
-       PgStat_Counter autovac_vacuum_count;
-       TimestampTz analyze_timestamp;  /* user initiated */
+       TimestampTz last_autovacuum_time;       /* autovacuum initiated */
+       PgStat_Counter autovacuum_count;
+       TimestampTz last_analyze_time;  /* user initiated */
        PgStat_Counter analyze_count;
-       TimestampTz autovac_analyze_timestamp;  /* autovacuum initiated */
-       PgStat_Counter autovac_analyze_count;
+       TimestampTz last_autoanalyze_time;      /* autovacuum initiated */
+       PgStat_Counter autoanalyze_count;
 } PgStat_StatTabEntry;
 
 typedef struct PgStat_WalStats

Reply via email to