diff options
author | Magnus Hagander <magnus@hagander.net> | 2019-03-09 10:45:17 -0800 |
---|---|---|
committer | Magnus Hagander <magnus@hagander.net> | 2019-03-09 10:47:30 -0800 |
commit | 6b9e875f7286d8535bff7955e5aa3602e188e436 (patch) | |
tree | bedeb8b9ba38b7aa151c329830589dc14bed292c /src/backend/utils/adt/pgstatfuncs.c | |
parent | 3c5926301aea476025f118159688a6a88b2738bc (diff) | |
download | postgresql-6b9e875f7286d8535bff7955e5aa3602e188e436.tar.gz postgresql-6b9e875f7286d8535bff7955e5aa3602e188e436.zip |
Track block level checksum failures in pg_stat_database
This adds a column that counts how many checksum failures have occurred
on files belonging to a specific database. Both checksum failures
during normal backend processing and those created when a base backup
detects a checksum failure are counted.
Author: Magnus Hagander
Reviewed by: Julien Rouhaud
Diffstat (limited to 'src/backend/utils/adt/pgstatfuncs.c')
-rw-r--r-- | src/backend/utils/adt/pgstatfuncs.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 69f72657792..da1d685c081 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -1498,6 +1498,21 @@ pg_stat_get_db_deadlocks(PG_FUNCTION_ARGS) } Datum +pg_stat_get_db_checksum_failures(PG_FUNCTION_ARGS) +{ + Oid dbid = PG_GETARG_OID(0); + int64 result; + PgStat_StatDBEntry *dbentry; + + if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL) + result = 0; + else + result = (int64) (dbentry->n_checksum_failures); + + PG_RETURN_INT64(result); +} + +Datum pg_stat_get_db_blk_read_time(PG_FUNCTION_ARGS) { Oid dbid = PG_GETARG_OID(0); |