Re: Altering a column type - Most efficient way - Mailing list pgsql-performance

From Tom Lane
Subject Re: Altering a column type - Most efficient way
Date
Msg-id 3462.1215786454@sss.pgh.pa.us
Whole thread Raw
In response to Re: Altering a column type - Most efficient way  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: Altering a column type - Most efficient way
List pgsql-performance
Alvaro Herrera <alvherre@commandprompt.com> 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.  You'd really need to build in hard-wired knowledge about
the behavior of specific coercion functions, which seems entirely
unappealing.

            regards, tom lane

pgsql-performance by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: 3ware vs Areca
Next
From: "Kevin Grittner"
Date:
Subject: Re: Altering a column type - Most efficient way