|
| 1 | +# postgres_dba 7.0 |
| 2 | + |
| 3 | +**30 reports** | Tested on **PostgreSQL 13–18** | Works with `pg_monitor` role |
| 4 | + |
| 5 | +## New Reports |
| 6 | + |
| 7 | +### b6 — Buffer cache contents |
| 8 | +What's in your `shared_buffers` right now. Shows cached size vs total size, % of cache used per object, and dirty buffer counts. Requires `pg_buffercache` extension. |
| 9 | + |
| 10 | +### s3 — Workload profile by query type |
| 11 | +Groups `pg_stat_statements` by first SQL keyword (SELECT, INSERT, UPDATE, DELETE, etc.) to show workload composition at a glance. Correctly handles queries with leading block comments (`/* ... */`) and line comments (`-- ...`). |
| 12 | + |
| 13 | +### t2 — Objects with custom storage parameters |
| 14 | +Lists all tables, indexes, and materialized views with non-default `reloptions`. Flags potentially problematic settings: disabled autovacuum on large tables, low fillfactor, aggressive vacuum scale factors. Shows partition relationships. |
| 15 | + |
| 16 | +### Report 0 — WAL and replication slot info |
| 17 | +The node information report now includes: |
| 18 | +- **WAL**: current LSN, file count, total WAL size |
| 19 | +- **Replication Slots**: name, type, active/inactive status, lag from current WAL position |
| 20 | + |
| 21 | +## Bug Fixes |
| 22 | + |
| 23 | +- **i3**: Fixed `operator is not unique` error when `intarray` extension is installed (added explicit `::int2[]` cast) |
| 24 | +- **s1, s2**: Fixed `blk_read_time does not exist` error on PostgreSQL 17+ (`blk_read_time`/`blk_write_time` renamed to `shared_blk_read_time`/`shared_blk_write_time` in pg_stat_statements 1.11) |
| 25 | +- **i2**: Removed unused `redundant_indexes_grouped` CTE (dead code) |
| 26 | +- **s1**: Removed duplicate `sum(calls)` in the pre-PG13 code path |
| 27 | + |
| 28 | +## Terminology |
| 29 | + |
| 30 | +- Updated `Master` → `Primary` across all reports and CI (0_node, i2, i4, i5) |
| 31 | + |
| 32 | +## Typo Fixes |
| 33 | + |
| 34 | +- `inspect` → `inspects` (b1, b2) |
| 35 | +- `filed` → `fields`, `fractionnal` → `fractional`, `functionnal` → `functional` (b2) |
| 36 | +- `alt_shits` → `alt_shifts` (p1) 🙈 |
| 37 | +- `Vaccuum` → `Vacuum` (b1) |
| 38 | +- `format` → `formatting` (s2) |
| 39 | +- Comment formatting: added space after `--` throughout (b3, b4, l1, s2, v2) |
| 40 | + |
| 41 | +## CI Improvements |
| 42 | + |
| 43 | +- Added `PAGER=cat` to all `psql` invocations (prevents pager hangs) |
| 44 | +- Added `intarray` and `pg_buffercache` extensions to test matrix |
| 45 | +- Added foreign key test tables for i3 regression testing |
| 46 | +- Added dedicated i3 regression test with `intarray` installed |
| 47 | + |
| 48 | +## Compatibility |
| 49 | + |
| 50 | +Tested on PostgreSQL 13, 14, 15, 16, 17, and 18 — all 30 reports pass with both superuser and `pg_monitor` roles. |
0 commit comments