*/
break;
case PROCSIG_RECOVERY_CONFLICT_TABLESPACE:
- dbentry->n_conflict_tablespace++;
+ dbentry->conflict_tablespace++;
break;
case PROCSIG_RECOVERY_CONFLICT_LOCK:
- dbentry->n_conflict_lock++;
+ dbentry->conflict_lock++;
break;
case PROCSIG_RECOVERY_CONFLICT_SNAPSHOT:
- dbentry->n_conflict_snapshot++;
+ dbentry->conflict_snapshot++;
break;
case PROCSIG_RECOVERY_CONFLICT_BUFFERPIN:
- dbentry->n_conflict_bufferpin++;
+ dbentry->conflict_bufferpin++;
break;
case PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK:
- dbentry->n_conflict_startup_deadlock++;
+ dbentry->conflict_startup_deadlock++;
break;
}
}
return;
dbent = pgstat_prep_database_pending(MyDatabaseId);
- dbent->n_deadlocks++;
+ dbent->deadlocks++;
}
/*
pgstat_get_entry_ref_locked(PGSTAT_KIND_DATABASE, dboid, InvalidOid, false);
sharedent = (PgStatShared_Database *) entry_ref->shared_stats;
- sharedent->stats.n_checksum_failures += failurecount;
+ sharedent->stats.checksum_failures += failurecount;
sharedent->stats.last_checksum_failure = GetCurrentTimestamp();
pgstat_unlock_entry(entry_ref);
return;
dbent = pgstat_prep_database_pending(MyDatabaseId);
- dbent->n_temp_bytes += filesize;
- dbent->n_temp_files++;
+ dbent->temp_bytes += filesize;
+ dbent->temp_files++;
}
/*
pgLastSessionReportTime = MyStartTimestamp;
dbentry = pgstat_prep_database_pending(MyDatabaseId);
- dbentry->n_sessions++;
+ dbentry->sessions++;
}
/*
/* we don't collect these */
break;
case DISCONNECT_CLIENT_EOF:
- dbentry->n_sessions_abandoned++;
+ dbentry->sessions_abandoned++;
break;
case DISCONNECT_FATAL:
- dbentry->n_sessions_fatal++;
+ dbentry->sessions_fatal++;
break;
case DISCONNECT_KILLED:
- dbentry->n_sessions_killed++;
+ dbentry->sessions_killed++;
break;
}
}
* Accumulate xact commit/rollback and I/O timings to stats entry of the
* current database.
*/
- dbentry->n_xact_commit += pgStatXactCommit;
- dbentry->n_xact_rollback += pgStatXactRollback;
- dbentry->n_block_read_time += pgStatBlockReadTime;
- dbentry->n_block_write_time += pgStatBlockWriteTime;
+ dbentry->xact_commit += pgStatXactCommit;
+ dbentry->xact_rollback += pgStatXactRollback;
+ dbentry->blk_read_time += pgStatBlockReadTime;
+ dbentry->blk_write_time += pgStatBlockWriteTime;
if (pgstat_should_report_connstat())
{
*/
TimestampDifference(pgLastSessionReportTime, ts, &secs, &usecs);
pgLastSessionReportTime = ts;
- dbentry->total_session_time += (PgStat_Counter) secs * 1000000 + usecs;
- dbentry->total_active_time += pgStatActiveTime;
- dbentry->total_idle_in_xact_time += pgStatTransactionIdleTime;
+ dbentry->session_time += (PgStat_Counter) secs * 1000000 + usecs;
+ dbentry->active_time += pgStatActiveTime;
+ dbentry->idle_in_transaction_time += pgStatTransactionIdleTime;
}
pgStatXactCommit = 0;
#define PGSTAT_ACCUM_DBCOUNT(item) \
(sharedent)->stats.item += (pendingent)->item
- PGSTAT_ACCUM_DBCOUNT(n_xact_commit);
- PGSTAT_ACCUM_DBCOUNT(n_xact_rollback);
- PGSTAT_ACCUM_DBCOUNT(n_blocks_fetched);
- PGSTAT_ACCUM_DBCOUNT(n_blocks_hit);
+ PGSTAT_ACCUM_DBCOUNT(xact_commit);
+ PGSTAT_ACCUM_DBCOUNT(xact_rollback);
+ PGSTAT_ACCUM_DBCOUNT(blocks_fetched);
+ PGSTAT_ACCUM_DBCOUNT(blocks_hit);
- PGSTAT_ACCUM_DBCOUNT(n_tuples_returned);
- PGSTAT_ACCUM_DBCOUNT(n_tuples_fetched);
- PGSTAT_ACCUM_DBCOUNT(n_tuples_inserted);
- PGSTAT_ACCUM_DBCOUNT(n_tuples_updated);
- PGSTAT_ACCUM_DBCOUNT(n_tuples_deleted);
+ PGSTAT_ACCUM_DBCOUNT(tuples_returned);
+ PGSTAT_ACCUM_DBCOUNT(tuples_fetched);
+ PGSTAT_ACCUM_DBCOUNT(tuples_inserted);
+ PGSTAT_ACCUM_DBCOUNT(tuples_updated);
+ PGSTAT_ACCUM_DBCOUNT(tuples_deleted);
/* last_autovac_time is reported immediately */
Assert(pendingent->last_autovac_time == 0);
- PGSTAT_ACCUM_DBCOUNT(n_conflict_tablespace);
- PGSTAT_ACCUM_DBCOUNT(n_conflict_lock);
- PGSTAT_ACCUM_DBCOUNT(n_conflict_snapshot);
- PGSTAT_ACCUM_DBCOUNT(n_conflict_bufferpin);
- PGSTAT_ACCUM_DBCOUNT(n_conflict_startup_deadlock);
+ PGSTAT_ACCUM_DBCOUNT(conflict_tablespace);
+ PGSTAT_ACCUM_DBCOUNT(conflict_lock);
+ PGSTAT_ACCUM_DBCOUNT(conflict_snapshot);
+ PGSTAT_ACCUM_DBCOUNT(conflict_bufferpin);
+ PGSTAT_ACCUM_DBCOUNT(conflict_startup_deadlock);
- PGSTAT_ACCUM_DBCOUNT(n_temp_bytes);
- PGSTAT_ACCUM_DBCOUNT(n_temp_files);
- PGSTAT_ACCUM_DBCOUNT(n_deadlocks);
+ PGSTAT_ACCUM_DBCOUNT(temp_bytes);
+ PGSTAT_ACCUM_DBCOUNT(temp_files);
+ PGSTAT_ACCUM_DBCOUNT(deadlocks);
/* checksum failures are reported immediately */
- Assert(pendingent->n_checksum_failures == 0);
+ Assert(pendingent->checksum_failures == 0);
Assert(pendingent->last_checksum_failure == 0);
- PGSTAT_ACCUM_DBCOUNT(n_block_read_time);
- PGSTAT_ACCUM_DBCOUNT(n_block_write_time);
+ PGSTAT_ACCUM_DBCOUNT(blk_read_time);
+ PGSTAT_ACCUM_DBCOUNT(blk_write_time);
- PGSTAT_ACCUM_DBCOUNT(n_sessions);
- PGSTAT_ACCUM_DBCOUNT(total_session_time);
- PGSTAT_ACCUM_DBCOUNT(total_active_time);
- PGSTAT_ACCUM_DBCOUNT(total_idle_in_xact_time);
- PGSTAT_ACCUM_DBCOUNT(n_sessions_abandoned);
- PGSTAT_ACCUM_DBCOUNT(n_sessions_fatal);
- PGSTAT_ACCUM_DBCOUNT(n_sessions_killed);
+ PGSTAT_ACCUM_DBCOUNT(sessions);
+ PGSTAT_ACCUM_DBCOUNT(session_time);
+ PGSTAT_ACCUM_DBCOUNT(active_time);
+ PGSTAT_ACCUM_DBCOUNT(idle_in_transaction_time);
+ PGSTAT_ACCUM_DBCOUNT(sessions_abandoned);
+ PGSTAT_ACCUM_DBCOUNT(sessions_fatal);
+ PGSTAT_ACCUM_DBCOUNT(sessions_killed);
#undef PGSTAT_ACCUM_DBCOUNT
pgstat_unlock_entry(entry_ref);
}
-Datum
-pg_stat_get_db_xact_commit(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_xact_commit);
-
- PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_db_xact_rollback(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_xact_rollback);
-
- PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_db_blocks_fetched(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_blocks_fetched);
-
- PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_db_blocks_hit(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result;
- PgStat_StatDBEntry *dbentry;
+#define PG_STAT_GET_DBENTRY_INT64(stat) \
+Datum \
+CppConcat(pg_stat_get_db_,stat)(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->stat); \
+ \
+ PG_RETURN_INT64(result); \
+} \
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = (int64) (dbentry->n_blocks_hit);
+/* pg_stat_get_db_blocks_fetched */
+PG_STAT_GET_DBENTRY_INT64(blocks_fetched);
- PG_RETURN_INT64(result);
-}
+/* pg_stat_get_db_blocks_hit */
+PG_STAT_GET_DBENTRY_INT64(blocks_hit);
+/* pg_stat_get_db_conflict_bufferpin */
+PG_STAT_GET_DBENTRY_INT64(conflict_bufferpin);
-Datum
-pg_stat_get_db_tuples_returned(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result;
- PgStat_StatDBEntry *dbentry;
+/* pg_stat_get_db_conflict_lock */
+PG_STAT_GET_DBENTRY_INT64(conflict_lock);
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = (int64) (dbentry->n_tuples_returned);
+/* pg_stat_get_db_conflict_snapshot */
+PG_STAT_GET_DBENTRY_INT64(conflict_snapshot);
- PG_RETURN_INT64(result);
-}
+/* pg_stat_get_db_conflict_startup_deadlock */
+PG_STAT_GET_DBENTRY_INT64(conflict_startup_deadlock);
+/* pg_stat_get_db_conflict_tablespace */
+PG_STAT_GET_DBENTRY_INT64(conflict_tablespace);
-Datum
-pg_stat_get_db_tuples_fetched(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result;
- PgStat_StatDBEntry *dbentry;
+/* pg_stat_get_db_deadlocks */
+PG_STAT_GET_DBENTRY_INT64(deadlocks);
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = (int64) (dbentry->n_tuples_fetched);
+/* pg_stat_get_db_sessions */
+PG_STAT_GET_DBENTRY_INT64(sessions);
- PG_RETURN_INT64(result);
-}
+/* pg_stat_get_db_sessions_abandoned */
+PG_STAT_GET_DBENTRY_INT64(sessions_abandoned);
+/* pg_stat_get_db_sessions_fatal */
+PG_STAT_GET_DBENTRY_INT64(sessions_fatal);
-Datum
-pg_stat_get_db_tuples_inserted(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result;
- PgStat_StatDBEntry *dbentry;
+/* pg_stat_get_db_sessions_killed */
+PG_STAT_GET_DBENTRY_INT64(sessions_killed);
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = (int64) (dbentry->n_tuples_inserted);
+/* pg_stat_get_db_temp_bytes */
+PG_STAT_GET_DBENTRY_INT64(temp_bytes);
- PG_RETURN_INT64(result);
-}
+/* pg_stat_get_db_temp_files */
+PG_STAT_GET_DBENTRY_INT64(temp_files);
+/* pg_stat_get_db_tuples_deleted */
+PG_STAT_GET_DBENTRY_INT64(tuples_deleted);
-Datum
-pg_stat_get_db_tuples_updated(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result;
- PgStat_StatDBEntry *dbentry;
+/* pg_stat_get_db_tuples_fetched */
+PG_STAT_GET_DBENTRY_INT64(tuples_fetched);
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = (int64) (dbentry->n_tuples_updated);
+/* pg_stat_get_db_tuples_inserted */
+PG_STAT_GET_DBENTRY_INT64(tuples_inserted);
- PG_RETURN_INT64(result);
-}
+/* pg_stat_get_db_tuples_returned */
+PG_STAT_GET_DBENTRY_INT64(tuples_returned);
+/* pg_stat_get_db_tuples_updated */
+PG_STAT_GET_DBENTRY_INT64(tuples_updated);
-Datum
-pg_stat_get_db_tuples_deleted(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result;
- PgStat_StatDBEntry *dbentry;
+/* pg_stat_get_db_xact_commit */
+PG_STAT_GET_DBENTRY_INT64(xact_commit);
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = (int64) (dbentry->n_tuples_deleted);
+/* pg_stat_get_db_xact_rollback */
+PG_STAT_GET_DBENTRY_INT64(xact_rollback);
- PG_RETURN_INT64(result);
-}
Datum
pg_stat_get_db_stat_reset_time(PG_FUNCTION_ARGS)
PG_RETURN_TIMESTAMPTZ(result);
}
-Datum
-pg_stat_get_db_temp_files(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 = dbentry->n_temp_files;
-
- PG_RETURN_INT64(result);
-}
-
-
-Datum
-pg_stat_get_db_temp_bytes(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 = dbentry->n_temp_bytes;
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_conflict_tablespace(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_conflict_tablespace);
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_conflict_lock(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_conflict_lock);
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_conflict_snapshot(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_conflict_snapshot);
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_conflict_bufferpin(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_conflict_bufferpin);
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_conflict_startup_deadlock(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_conflict_startup_deadlock);
-
- PG_RETURN_INT64(result);
-}
Datum
pg_stat_get_db_conflict_all(PG_FUNCTION_ARGS)
if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
result = 0;
else
- result = (int64) (dbentry->n_conflict_tablespace +
- dbentry->n_conflict_lock +
- dbentry->n_conflict_snapshot +
- dbentry->n_conflict_bufferpin +
- dbentry->n_conflict_startup_deadlock);
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_deadlocks(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_deadlocks);
+ result = (int64) (dbentry->conflict_tablespace +
+ dbentry->conflict_lock +
+ dbentry->conflict_snapshot +
+ dbentry->conflict_bufferpin +
+ dbentry->conflict_startup_deadlock);
PG_RETURN_INT64(result);
}
if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
result = 0;
else
- result = (int64) (dbentry->n_checksum_failures);
+ result = (int64) (dbentry->checksum_failures);
PG_RETURN_INT64(result);
}
PG_RETURN_TIMESTAMPTZ(result);
}
-Datum
-pg_stat_get_db_blk_read_time(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- double result;
- PgStat_StatDBEntry *dbentry;
-
- /* convert counter from microsec to millisec for display */
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = ((double) dbentry->n_block_read_time) / 1000.0;
-
- PG_RETURN_FLOAT8(result);
-}
-
-Datum
-pg_stat_get_db_blk_write_time(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- double result;
- PgStat_StatDBEntry *dbentry;
-
- /* convert counter from microsec to millisec for display */
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL)
- result = 0;
- else
- result = ((double) dbentry->n_block_write_time) / 1000.0;
-
- PG_RETURN_FLOAT8(result);
-}
-
-Datum
-pg_stat_get_db_session_time(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- double result = 0.0;
- PgStat_StatDBEntry *dbentry;
-
- /* convert counter from microsec to millisec for display */
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) != NULL)
- result = ((double) dbentry->total_session_time) / 1000.0;
-
- PG_RETURN_FLOAT8(result);
-}
-
-Datum
-pg_stat_get_db_active_time(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- double result = 0.0;
- PgStat_StatDBEntry *dbentry;
-
- /* convert counter from microsec to millisec for display */
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) != NULL)
- result = ((double) dbentry->total_active_time) / 1000.0;
-
- PG_RETURN_FLOAT8(result);
-}
-
-Datum
-pg_stat_get_db_idle_in_transaction_time(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- double result = 0.0;
- PgStat_StatDBEntry *dbentry;
-
- /* convert counter from microsec to millisec for display */
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) != NULL)
- result = ((double) dbentry->total_idle_in_xact_time) / 1000.0;
-
- PG_RETURN_FLOAT8(result);
-}
-
-Datum
-pg_stat_get_db_sessions(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result = 0;
- PgStat_StatDBEntry *dbentry;
-
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) != NULL)
- result = (int64) (dbentry->n_sessions);
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_sessions_abandoned(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result = 0;
- PgStat_StatDBEntry *dbentry;
-
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) != NULL)
- result = (int64) (dbentry->n_sessions_abandoned);
-
- PG_RETURN_INT64(result);
-}
-
-Datum
-pg_stat_get_db_sessions_fatal(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result = 0;
- PgStat_StatDBEntry *dbentry;
+#define PG_STAT_GET_DBENTRY_FLOAT8(stat) \
+Datum \
+CppConcat(pg_stat_get_db_,stat)(PG_FUNCTION_ARGS) \
+{ \
+ Oid dbid = PG_GETARG_OID(0); \
+ double result; \
+ PgStat_StatDBEntry *dbentry; \
+ \
+ if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) == NULL) \
+ result = 0; \
+ else \
+ result = ((double) dbentry->stat) / 1000.0; \
+ \
+ PG_RETURN_FLOAT8(result); \
+} \
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) != NULL)
- result = (int64) (dbentry->n_sessions_fatal);
+/* pg_stat_get_db_active_time */
+PG_STAT_GET_DBENTRY_FLOAT8(active_time);
- PG_RETURN_INT64(result);
-}
+/* pg_stat_get_db_blk_read_time */
+PG_STAT_GET_DBENTRY_FLOAT8(blk_read_time);
-Datum
-pg_stat_get_db_sessions_killed(PG_FUNCTION_ARGS)
-{
- Oid dbid = PG_GETARG_OID(0);
- int64 result = 0;
- PgStat_StatDBEntry *dbentry;
+/* pg_stat_get_db_blk_write_time */
+PG_STAT_GET_DBENTRY_FLOAT8(blk_write_time);
- if ((dbentry = pgstat_fetch_stat_dbentry(dbid)) != NULL)
- result = (int64) (dbentry->n_sessions_killed);
+/* pg_stat_get_db_idle_in_transaction_time */
+PG_STAT_GET_DBENTRY_FLOAT8(idle_in_transaction_time);
- PG_RETURN_INT64(result);
-}
+/* pg_stat_get_db_session_time */
+PG_STAT_GET_DBENTRY_FLOAT8(session_time);
Datum
pg_stat_get_bgwriter_timed_checkpoints(PG_FUNCTION_ARGS)
typedef struct PgStat_StatDBEntry
{
- PgStat_Counter n_xact_commit;
- PgStat_Counter n_xact_rollback;
- PgStat_Counter n_blocks_fetched;
- PgStat_Counter n_blocks_hit;
- PgStat_Counter n_tuples_returned;
- PgStat_Counter n_tuples_fetched;
- PgStat_Counter n_tuples_inserted;
- PgStat_Counter n_tuples_updated;
- PgStat_Counter n_tuples_deleted;
+ PgStat_Counter xact_commit;
+ PgStat_Counter xact_rollback;
+ PgStat_Counter blocks_fetched;
+ PgStat_Counter blocks_hit;
+ PgStat_Counter tuples_returned;
+ PgStat_Counter tuples_fetched;
+ PgStat_Counter tuples_inserted;
+ PgStat_Counter tuples_updated;
+ PgStat_Counter tuples_deleted;
TimestampTz last_autovac_time;
- PgStat_Counter n_conflict_tablespace;
- PgStat_Counter n_conflict_lock;
- PgStat_Counter n_conflict_snapshot;
- PgStat_Counter n_conflict_bufferpin;
- PgStat_Counter n_conflict_startup_deadlock;
- PgStat_Counter n_temp_files;
- PgStat_Counter n_temp_bytes;
- PgStat_Counter n_deadlocks;
- PgStat_Counter n_checksum_failures;
+ PgStat_Counter conflict_tablespace;
+ PgStat_Counter conflict_lock;
+ PgStat_Counter conflict_snapshot;
+ PgStat_Counter conflict_bufferpin;
+ PgStat_Counter conflict_startup_deadlock;
+ PgStat_Counter temp_files;
+ PgStat_Counter temp_bytes;
+ PgStat_Counter deadlocks;
+ PgStat_Counter checksum_failures;
TimestampTz last_checksum_failure;
- PgStat_Counter n_block_read_time; /* times in microseconds */
- PgStat_Counter n_block_write_time;
- PgStat_Counter n_sessions;
- PgStat_Counter total_session_time;
- PgStat_Counter total_active_time;
- PgStat_Counter total_idle_in_xact_time;
- PgStat_Counter n_sessions_abandoned;
- PgStat_Counter n_sessions_fatal;
- PgStat_Counter n_sessions_killed;
+ PgStat_Counter blk_read_time; /* times in microseconds */
+ PgStat_Counter blk_write_time;
+ PgStat_Counter sessions;
+ PgStat_Counter session_time;
+ PgStat_Counter active_time;
+ PgStat_Counter idle_in_transaction_time;
+ PgStat_Counter sessions_abandoned;
+ PgStat_Counter sessions_fatal;
+ PgStat_Counter sessions_killed;
TimestampTz stat_reset_timestamp;
} PgStat_StatDBEntry;