Thread: log_planner_stats and prepared statements

log_planner_stats and prepared statements

From
Bruce Momjian
Date:
I have found that log_planner_stats only outputs stats until the generic
plan is chosen.  For example, if you run the following commands:

    SET client_min_messages = 'log';
    SET log_planner_stats = TRUE;
    
    PREPARE e AS SELECT relkind FROM pg_class WHERE relname = $1 ORDER BY 1;

    EXPLAIN ANALYZE VERBOSE EXECUTE e ('pg_class');
    EXPLAIN ANALYZE VERBOSE EXECUTE e ('pg_class');
    EXPLAIN ANALYZE VERBOSE EXECUTE e ('pg_class');
    EXPLAIN ANALYZE VERBOSE EXECUTE e ('pg_class');
    EXPLAIN ANALYZE VERBOSE EXECUTE e ('pg_class');
    EXPLAIN ANALYZE VERBOSE EXECUTE e ('pg_class');
-->    EXPLAIN ANALYZE VERBOSE EXECUTE e ('pg_class');

The last explain will _not_ show any log_planner_stats duration, though
it does show an EXPLAIN planning time:

     Planning Time: 0.012 ms

It this expected behavior?

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +



Re: log_planner_stats and prepared statements

From
Tom Lane
Date:
Bruce Momjian <bruce@momjian.us> writes:
> I have found that log_planner_stats only outputs stats until the generic
> plan is chosen.  For example, if you run the following commands:

Uh, well, the planner doesn't get run after that point ...

            regards, tom lane



Re: log_planner_stats and prepared statements

From
Bruce Momjian
Date:
On Wed, Apr 17, 2019 at 12:04:35AM -0400, Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > I have found that log_planner_stats only outputs stats until the generic
> > plan is chosen.  For example, if you run the following commands:
> 
> Uh, well, the planner doesn't get run after that point ...

Yes, that was my analysis too, but EXPLAIN still prints a planner line,
with a duration:

     Planning Time: 0.674 ms
     Planning Time: 0.240 ms
     Planning Time: 0.186 ms
     Planning Time: 0.158 ms
     Planning Time: 0.159 ms
     Planning Time: 0.169 ms
-->     Planning Time: 0.012 ms

Is that consistent?  I just don't know.  What is that line measuring?

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +