Skip to content

Commit 2425498

Browse files
committed
feat: add pg_stat_database collectors
Add collectors for pg_stat_database metrics: - databases_blk: block read/write statistics - databases_tup: tuple operation statistics - databases_xact: transaction commit/rollback counts
1 parent 392c8bf commit 2425498

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

DATA.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,10 @@ Instance-level PostgreSQL collectors. Files stored in `postgresql/`.
148148
| `postgresql/blocking_locks.tsv` | Complex query | Blocking/blocked lock pairs |
149149
| `postgresql/configuration.tsv` | `pg_settings` | Configuration parameters |
150150
| `postgresql/databases.tsv` | `pg_database` | Database list |
151+
| `postgresql/databases_blk.tsv` | `pg_stat_database` | Block read/write statistics |
151152
| `postgresql/databases_checksums.tsv` | `pg_stat_database` | Checksum failure counts |
153+
| `postgresql/databases_tup.tsv` | `pg_stat_database` | Tuple operation statistics |
154+
| `postgresql/databases_xact.tsv` | `pg_stat_database` | Transaction commit/rollback counts |
152155
| `postgresql/db_role_setting.tsv` | `pg_db_role_setting` | Per-database/role settings |
153156
| `postgresql/pg_hba.conf` | Data directory | Host-based authentication config |
154157
| `postgresql/pg_hba_file_rules.tsv` | `pg_hba_file_rules` | Parsed pg_hba.conf rules (PG10+) |

docs/data.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,10 @@ Instance-level PostgreSQL collectors. Files stored in `postgresql/`.
149149
| `postgresql/checkpointer.tsv` | `pg_stat_checkpointer` | Checkpoint statistics (PG17+) |
150150
| `postgresql/configuration.tsv` | `pg_settings` | Configuration parameters |
151151
| `postgresql/databases.tsv` | `pg_database` | Database list |
152+
| `postgresql/databases_blk.tsv` | `pg_stat_database` | Block read/write statistics |
152153
| `postgresql/databases_checksums.tsv` | `pg_stat_database` | Checksum failure counts |
154+
| `postgresql/databases_tup.tsv` | `pg_stat_database` | Tuple operation statistics |
155+
| `postgresql/databases_xact.tsv` | `pg_stat_database` | Transaction commit/rollback counts |
153156
| `postgresql/db_role_setting.tsv` | `pg_db_role_setting` | Per-database/role settings |
154157
| `postgresql/pg_hba.conf` | Data directory | Host-based authentication config |
155158
| `postgresql/pg_hba_file_rules.tsv` | `pg_hba_file_rules` | Parsed pg_hba.conf rules (PG10+) |

postgres_tasks.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,26 @@ WHERE NOT blocked_locks.granted`,
9292
ArchivePath: "postgresql/databases.tsv",
9393
Query: "SELECT oid, datname, datdba, encoding, datcollate, datctype FROM pg_database ORDER BY datname",
9494
},
95+
{
96+
Name: "databases_blk",
97+
ArchivePath: "postgresql/databases_blk.tsv",
98+
Query: "SELECT datname, blks_read, blks_hit, blk_read_time, blk_write_time FROM pg_stat_database WHERE datname IS NOT NULL ORDER BY datname",
99+
},
95100
{
96101
Name: "databases_checksums",
97102
ArchivePath: "postgresql/databases_checksums.tsv",
98103
Query: "SELECT datname, checksum_failures, checksum_last_failure FROM pg_stat_database WHERE datname IS NOT NULL ORDER BY datname",
99104
},
105+
{
106+
Name: "databases_tup",
107+
ArchivePath: "postgresql/databases_tup.tsv",
108+
Query: "SELECT datname, tup_returned, tup_fetched, tup_inserted, tup_updated, tup_deleted FROM pg_stat_database WHERE datname IS NOT NULL ORDER BY datname",
109+
},
110+
{
111+
Name: "databases_xact",
112+
ArchivePath: "postgresql/databases_xact.tsv",
113+
Query: "SELECT datname, xact_commit, xact_rollback FROM pg_stat_database WHERE datname IS NOT NULL ORDER BY datname",
114+
},
100115
{
101116
Name: "db_role_setting",
102117
ArchivePath: "postgresql/db_role_setting.tsv",

postgres_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ func TestPostgreSQLCollectors(t *testing.T) {
3232
{"checkpointer", "postgresql/checkpointer.tsv"},
3333
{"configuration", "postgresql/configuration.tsv"},
3434
{"databases", "postgresql/databases.tsv"},
35+
{"databases_blk", "postgresql/databases_blk.tsv"},
3536
{"databases_checksums", "postgresql/databases_checksums.tsv"},
37+
{"databases_tup", "postgresql/databases_tup.tsv"},
38+
{"databases_xact", "postgresql/databases_xact.tsv"},
3639
{"db_role_setting", "postgresql/db_role_setting.tsv"},
3740
{"pg_hba.conf", "postgresql/pg_hba.conf"},
3841
{"pg_hba_file_rules", "postgresql/pg_hba_file_rules.tsv"},

0 commit comments

Comments
 (0)