pg_extras/queries/
buffercache_usage.rs1use crate::{queries::shared::Query, PgStatsVersion};
2use sqlx::{postgres::PgRow, Row};
3
4#[derive(Debug, Clone, serde::Serialize)]
5pub struct BuffercacheUsage {
6 pub relname: String,
7 pub buffers: i64,
8}
9
10impl Query for BuffercacheUsage {
11 fn new(row: &PgRow) -> Self {
12 Self {
13 relname: row.try_get("relname").unwrap_or_default(),
14 buffers: row.try_get("buffers").unwrap_or_default(),
15 }
16 }
17
18 fn to_row(&self) -> prettytable::Row {
19 row![self.relname, self.buffers]
20 }
21
22 fn headers() -> prettytable::Row {
23 row!["relname", "buffers"]
24 }
25
26 fn read_file(_pg_statement_version: Option<PgStatsVersion>) -> String {
27 include_str!("../sql/buffercache_usage.sql").to_string()
28 }
29}