Enum
Как добавить в существующий enum новое значение
ALTER TYPE status_enum ADD VALUE 'new_value';По умолчанию enum вставляется в конец, но можно на это влиять
ALTER TYPE status_enum ADD VALUE 'in_review' BEFORE 'approved';
-- или
ALTER TYPE status_enum ADD VALUE 'in_review' AFTER 'pending';Жесткое изменение или удаление
-- 1. Переименовываем старый enum
ALTER TYPE status_enum RENAME TO status_enum_old;
-- 2. Создаём новый enum с нужными значениями
CREATE TYPE status_enum AS ENUM ('pending', 'in_review');
-- 3. Приводим столбцы к тексту, чтобы снять зависимость от старого типа
ALTER TABLE orders ALTER COLUMN status TYPE TEXT;
-- 4. Приводим столбец обратно к новому enum
ALTER TABLE orders ALTER COLUMN status TYPE status_enum
USING status::status_enum;
-- 5. Удаляем старый enum (если больше не нужен)
DROP TYPE status_enum_old;