Re: [HACKERS] SET NOT NULL [NOT VALID / CONCURRENTLY]?

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: [HACKERS] SET NOT NULL [NOT VALID / CONCURRENTLY]?
Дата
Msg-id CA+TgmoY9jpTW-Xi3GuL6G9-GiaTgR7FASutQd-fnRqwQTx+_xw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] SET NOT NULL [NOT VALID / CONCURRENTLY]?  (Joel Jacobson <joel@trustly.com>)
Список pgsql-hackers
On Wed, Dec 21, 2016 at 7:55 PM, Joel Jacobson <joel@trustly.com> wrote:
Attached is the function SET_NOT_NULL(_Schema name, _Table name, _Column name) which does the following:

1. LOCK TABLE %I.%I IN ACCESS EXCLUSIVE MODE
just like the normal DDL commands would do

2. SELECT EXISTS (SELECT 1 FROM %I.%I WHERE %I IS NULL)
which is fast if there is an index on the column

3. UPDATE pg_catalog.pg_attribute SET attnotnull = TRUE
    WHERE attrelid = %L::oid
    AND   attname  = %L

Pragmatically, would this be a safe approach?

Hmm, I don't see a problem with it.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: [HACKERS] patch: function xmltable
Следующее
От: Robert Haas
Дата:
Сообщение: Re: [HACKERS] Write Ahead Logging for Hash Indexes