Skip to content

Commit 9aa6b97

Browse files
committed
fix(s1,s2): handle PG17 pg_stat_statements column renames
In pg_stat_statements 1.11 (PG17), blk_read_time and blk_write_time were renamed to shared_blk_read_time and shared_blk_write_time. s1: use \if :postgres_dba_pgvers_17plus to select the right columns s2: alias the new column names in the source CTE so all downstream references work without changes Tested with shared_preload_libraries=pg_stat_statements on PG17. All 30 queries now pass.
1 parent a554674 commit 9aa6b97

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

sql/s1_pg_stat_statements_top_total.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,13 @@ select
5353
sum(local_blks_written) as local_blks_written,
5454
sum(temp_blks_read) as temp_blks_read,
5555
sum(temp_blks_written) as temp_blks_written,
56+
\if :postgres_dba_pgvers_17plus
57+
sum(shared_blk_read_time) as blk_read_time,
58+
sum(shared_blk_write_time) as blk_write_time,
59+
\else
5660
sum(blk_read_time) as blk_read_time,
5761
sum(blk_write_time) as blk_write_time,
62+
\endif
5863
array_agg(queryid) as queryids -- 9.4+
5964
from pg_stat_statements
6065
group by userid, dbid, query

sql/s2_pg_stat_statements_report.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
--Original version – Data Egret: https://github.com/dataegret/pg-utils/blob/master/sql/global_reports/query_stat_total.sql
44
\if :postgres_dba_pgvers_13plus
55
with pg_stat_statements_slice as (
6+
\if :postgres_dba_pgvers_17plus
7+
select *, shared_blk_read_time as blk_read_time, shared_blk_write_time as blk_write_time
8+
\else
69
select *
10+
\endif
711
from pg_stat_statements
812
-- if current database is postgres then generate report for all databases,
913
-- otherwise generate for current database only

0 commit comments

Comments
 (0)