在PG 13的pg_stat_statements中新增了计划相关的时间.
PG 12
[local:/data/run/pg12]:5120 pg12@testdb=# select * from pg_stat_statements where query like 'select count(*) from tmp%';
-[ RECORD 1 ]-------+-------------------------
userid | 10
dbid | 16384
queryid | -8684501269442258252
query | select count(*) from tmp
calls | 1
total_time | 199.761882
min_time | 199.761882
max_time | 199.761882
mean_time | 199.761882
stddev_time | 0
rows | 1
shared_blks_hit | 4425
shared_blks_read | 0
shared_blks_dirtied | 4425
shared_blks_written | 0
local_blks_hit | 0
local_blks_read | 0
local_blks_dirtied | 0
local_blks_written | 0
temp_blks_read | 0
temp_blks_written | 0
blk_read_time | 0
blk_write_time | 0
PG 12中只有总的时间和最大最小时间,但没有计划阶段的时间.
PG 13
[local:/data/run/pg13]:5130 pg13@masterdb=# select * from pg_stat_statements where query like 'select count(*) from tmp%';
-[ RECORD 1 ]-------+-------------------------
userid | 10
dbid | 16384
queryid | 8012662698209620852
query | select count(*) from tmp
plans | 2
total_plan_time | 1.6762450000000002
min_plan_time | 0.255869
max_plan_time | 1.420376
mean_plan_time | 0.8381225000000001
stddev_plan_time | 0.5822535000000001
calls | 2
total_exec_time | 156.125558
min_exec_time | 71.703524
max_exec_time | 84.42203400000001
mean_exec_time | 78.062779
stddev_exec_time | 6.3592550000000045
rows | 2
shared_blks_hit | 8875
shared_blks_read | 1
shared_blks_dirtied | 0
shared_blks_written | 0
local_blks_hit | 0
local_blks_read | 0
local_blks_dirtied | 0
local_blks_written | 0
temp_blks_read | 0
temp_blks_written | 0
blk_read_time | 0
blk_write_time | 0
wal_records | 0
wal_num_fpw | 0
wal_bytes | 0
[local:/data/run/pg13]:5130 pg13@masterdb=#
[local:/data/run/pg13]:5130 pg13@masterdb=#
在PG 13中,新增了计划时间(X_plan_time).
参考资料
Waiting for PostgreSQL 13 – Allow pg_stat_statements to track planning statistics.