Search Postgresql Archives

Adding domain type with CHECK constraints slow on large table

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

 



EnterpriseDB 8.2.4

create domain foodomain text check (value in ('val1', 'val2'));

alter table bigtable add foodomain;

I believe what's happening here is that the server doesn't realize
that the new column is going to have all nulls and that the check
constraint allows nulls.  As such, the check evidently is being
evaluated for each row of the table.

I'm tempted to update pg_constraint around the alter table statement
to in the same transaction frob contypid to 0 and then back to the
domain pg_type.oid field value to (not yet tested), prevent the check
from being evaluated.

In our case, this hackery would save hours of downtime on a prod
system.

Comments?

PS: Sent this a few hours ago and never saw it.  Sorry if duplicate. 

-- 
-------------------------------------------------------------------------------
Jerry Sievers   732 365-2844 (work)     Production Database Administrator
                305 321-1144 (mobil	WWW E-Commerce Consultant

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your
       message can get through to the mailing list cleanly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux