Adding domain type with CHECK constraints slow on large table
От | Jerry Sievers |
---|---|
Тема | Adding domain type with CHECK constraints slow on large table |
Дата | |
Msg-id | m3sl593tvw.fsf@mama.jerrysievers.com обсуждение исходный текст |
Ответы |
Re: Adding domain type with CHECK constraints slow on large table
|
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: