Re: Lazy constraints / defaults

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Lazy constraints / defaults
Дата
Msg-id 10863.1205087115@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Lazy constraints / defaults  ("Michał Zaborowski" <michal.zaborowski@gmail.com>)
Ответы Re: Lazy constraints / defaults  ("Dawid Kuroczko" <qnex42@gmail.com>)
Список pgsql-hackers
"Michał Zaborowski" <michal.zaborowski@gmail.com> writes:
>  I would like to be able to add CONSTRAINT and/or DEFAULT with out
> affecting old rows.

You mean without actually checking that the old rows satisfy the
constraint?  There's approximately zero chance that that proposal
will be accepted.

> Yes, it sounds strange, but... Let's say I have
> big table, I want to add new column, with DEFAULT and NOT NULL.
> Normally it means long exclusive lock. So - right now I'm adding plain
> new column, then DEFAULT, then UPDATE on all rows in chunks, then NOT
> NULL... Can it be little simpler?

Just do it all in one ALTER command.

alter table tab add column col integer not null default 42 check (col > 0);
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Dawid Kuroczko"
Дата:
Сообщение: Re: Idea: Comments on system catalogs?
Следующее
От: Michael Meskes
Дата:
Сообщение: Re: timestamp datatype cleanup