On Mon, 10 Dec 2018 at 16:14, Alvaro Herrera <alvhe...@2ndquadrant.com>
wrote:

> Hi Greg
>
> On 2018-Dec-07, Greg Stark wrote:
>
> > I'm thinking I should try to move all these decisions to phase 1 as
> > much as possible but I'm not sure how feasible it will be to get the
> > results exactly correct. Of course the cases where it's hardest to
> > predict are precisely where users would most like to know what's going
> > to happen...
>
> Maybe you can move some of these decisions to phase 1, but I'm not sure
> it can be done for all of them.  Another possible plan is to add a flag
> "dry run" so that phases 2/3 do whatever analysis they need to report
> for your EXPLAIN, but not actually carry out their tasks.  (I see two
> options to implement this, one is a global flag and the other is a new
> argument to all those routines.)
>

You need to take a table lock to find out things about the table.

EXPLAIN seems like the wrong place for this.

I suggest ALTER TABLE should respond to a parameter setting of ddl_dry_run
= on, so the whole world doesn't need to rewrite its syntax to support the
new option.

-- 
Simon Riggs                http://www.2ndQuadrant.com/
<http://www.2ndquadrant.com/>
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to