diff options
author | Magnus Hagander <magnus@hagander.net> | 2019-04-12 14:04:50 +0200 |
---|---|---|
committer | Magnus Hagander <magnus@hagander.net> | 2019-04-12 14:04:50 +0200 |
commit | 77bd49adba4711b4497e7e39a5ec3a9812cbd52a (patch) | |
tree | d3c6d62589617760429da962e80f30efa9fc52d2 /src/backend/utils/adt/pgstatfuncs.c | |
parent | ef6f30fe77af69a8c775cca82bf993b10c9889ee (diff) | |
download | postgresql-77bd49adba4711b4497e7e39a5ec3a9812cbd52a.tar.gz postgresql-77bd49adba4711b4497e7e39a5ec3a9812cbd52a.zip |
Show shared object statistics in pg_stat_database
This adds a row to the pg_stat_database view with datoid 0 and datname
NULL for those objects that are not in a database. This was added
particularly for checksums, but we were already tracking more satistics
for these objects, just not returning it.
Also add a checksum_last_failure column that holds the timestamptz of
the last checksum failure that occurred in a database (or in a
non-dataabase file), if any.
Author: Julien Rouhaud <rjuju123@gmail.com>
Diffstat (limited to 'src/backend/utils/adt/pgstatfuncs.c')
-rw-r--r-- | src/backend/utils/adt/pgstatfuncs.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 9a1d07bee33..97f41fb46c1 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -1535,6 +1535,24 @@ pg_stat_get_db_checksum_failures(PG_FUNCTION_ARGS) } Datum +pg_stat_get_db_checksum_last_failure(PG_FUNCTION_ARGS) +{ + Oid dbid = PG_GETARG_OID(0); + TimestampTz result; + PgStat_StatDBEntry *dbentry; + + if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL) + result = 0; + else + result = dbentry->last_checksum_failure; + + if (result == 0) + PG_RETURN_NULL(); + else + PG_RETURN_TIMESTAMPTZ(result); +} + +Datum pg_stat_get_db_blk_read_time(PG_FUNCTION_ARGS) { Oid dbid = PG_GETARG_OID(0); |