View Single Post

   
  #2 (permalink)  
Old 04-24-2008, 06:12 PM
Tom Lane
 
Posts: n/a
Default Re: BUG #4125: Strange ALTER TABLE behavior

"Vladimir Kanazir" <vladimir@vlajko.com> writes:
> If I execute this query:
> alter table history add incoming_id bigint default 0;


> the table will be locked until operation finishes (checked by executing the
> select query on the same table via another connection).


Indeed, because it has to physically fill the value zero into every
table row.

> But, if I do this:
> alter table history add incoming_id bigint;
> alter table history alter incoming_id set default 0;
> update history set incoming_id=0;
> the table will be locked only during alter table execution, which is very
> short time.


But this exposes the state where incoming_id isn't zero to other
transactions.

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply With Quote