planinstr, showing planner time on EXPLAIN - Mailing list pgsql-hackers

From Hitoshi Harada
Subject planinstr, showing planner time on EXPLAIN
Date
Msg-id BANLkTi=sxKTCTcv9hsACu38eaj=fW_4OMA@mail.gmail.com
Whole thread Raw
Responses Re: planinstr, showing planner time on EXPLAIN
List pgsql-hackers
Yesterday on PGXN I just released the first version of planinstr, a
plugin module to append planner time to EXPLAIN. I post this here
since it is mostly for developers.

http://www.pgxn.org/dist/planinstr/

db1=# load '$libdir/planinstr';
LOAD
db1=# explain select * from pg_class;                         QUERY PLAN
---------------------------------------------------------------Seq Scan on pg_class  (cost=0.00..141.87 rows=3287
width=194)Plantime: 0.119 ms
 

db1=# explain analyze select count(*) from size_m;                                                      QUERY PLAN


------------------------------------------------------------------------------------------------------------------------Aggregate
(cost=26272.00..26272.01 rows=1 width=0) (actual
 
time=51.938..51.938 rows=1 loops=1)  ->  Append  (cost=0.00..23147.00 rows=1250000 width=0) (actual
time=0.037..45.809 rows=20000 loops=1)        ->  Seq Scan on size_m  (cost=0.00..847.00 rows=20000
width=0) (actual time=0.037..41.863 rows=20000 loops=1)
<.. snip ..>        ->  Seq Scan on myt1000 size_m  (cost=0.00..22.30 rows=1230
width=0) (actual time=0.001..0.001 rows=0 loops=1)Total runtime: 75.217 msPlan time: 61.353 ms
(1005 rows)


This may help to make the planner performance regression visible on
some internal logic refactoring, etc. Hope this helps someone. Feel
free to tell me if similar mechanism already exists, or you want more
rich interfaces.
Github is here: https://github.com/umitanuki/planinstr
Also free to fork and send pull request!

Regards,


-- 
Hitoshi Harada


pgsql-hackers by date:

Previous
From: "Greg Sabino Mullane"
Date:
Subject: Re: procpid?
Next
From: Tom Lane
Date:
Subject: Re: pg_upgrade using appname to lock out other users