Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как добавить поле в большую таблицу PostgreSQL без блокировки?

Data scienceАналитика+2
Анонимный вопрос
Data Science
  · 5,0 K
Пишу код и т.п.  · 20 апр 2022  · itustinov.ru
Никак. Добавление колонки требует блокировки таблицы.
Если есть долгие запросы, которые занимают таблицу, их можно принудительно остановить, но если это прод, у пользователей и у подключенного приложения могут возникнуть проблемы.
-- В старых версиях PID назывался PROCPID.
-- Исключаем подключения и свой только что
-- вызванный процесс.
SELECT pid, query_start, state, query
FROM pg_stat_activity
WHERE state <> 'idle' and pid <> pg_backend_pid();

SELECT pg_terminate_backend(PID); /* SIGTERM */
SELECT pg_cancel_backend(PID); /* SIGINT */
Источники:
  1. Хабр: Курс молодого бойца PostgreSQL
  2. Ответ на SO: запрос нуждается в блокировке
  3. Описание колонок pg_stat_activity
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 20 апр 2022
Информация ниже нуждается в тестированиии ========================================== Источник https://leopard.in.ua/2016/09/20/safe-and-unsafe-operations-postgresql#.Yl_LRxxBzmU =========================================== Безопасные и небезопасные операции с большими объемами PostgreSQL =========================================== PostgreSQL — это объектно-реляционная... Читать далее
Смотри также https://dba.stackexchange.com/questions/211221/add-column-with-default-in-postgresql-without-table-lev... Читать дальше