Re: Altering a column type - Most efficient way

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>> Tom Lane <tgl@xxxxxxxxxxxxx> wrote: 
> Alvaro Herrera <alvherre@xxxxxxxxxxxxxxxxx> writes:
>> Ow Mun Heng wrote:
>>> If it were this simple a change, I'm not certain why (I believe) PG
is
>>> checking each and every row to see if it will fit into the new
column
>>> definition/type. 
> 
>> Because the code that does the ALTER TYPE is very generic, and it
>> doesn't (yet) have an optimization that tells it to skip the check
and
>> the possible table rewrite in the cases where it's obviously not
needed
>> (like this one).
> 
> Awhile back I looked into teaching ALTER TYPE that it needn't
rewrite
> if the type conversion expression parses out as just a Var with
> RelabelType, but it seemed that that wouldn't cover very much of the
> use-cases where a human thinks that it's "obvious" that no rewrite
> is needed.
 
We wouldn't have to cover all possible cases for it to be useful.  If
there's some low-hanging fruit here, +1 for getting that.  The cases
which would most often save staff here some time are switching a
varchar to a longer maximum length or switching between a domain which
is varchar to plain varchar (or vice versa).
 
-Kevin


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux