Бази даних · Middle · Запитання 38 з 75
Як у сучасному PostgreSQL додати стовпець NOT NULL зі значенням за замовчуванням у величезну таблицю без довгих блокувань?
- 1Додати стовпець, потім перезапустити сервер
- ✓Правильна відповідь:
ADD COLUMN ... DEFAULT <стала> NOT NULLз PostgreSQL 11 змінює лише метадані, тож це швидко - 3Неможливо: треба перебудувати таблицю
Пояснення
Мінливі значення за замовчуванням, як-от random(), усе одно переписують таблицю. Для обчислюваних значень додайте стовпець, що допускає NULL, заповніть пакетами, потім додайте обмеження.