Изменение ENUM-типа в PostgreSQL
В PostgreSQL 9.1 значительно расширилась функциональность для работы с пользовательскими типами — появилась возможность добавлять, удалять и изменять атрибуты, а также добавлять значения в ENUM типы. До этой же версии, например в PostgreSQL 8.2, для добавления нового значение к ENUM требовалось совершить гораздо больше действий: ALTER TYPE "foo_type" RENAME TO "_old_foo_type"; CREATE TYPE "foo_type" AS ENUM ('old_one', 'new_one'); ALTER TABLE "bar" ALTER COLUMN "foo" SET DEFAULT NULL; ALTER TABLE "bar" ALTER COLUMN "foo" TYPE "foo_type" USING "foo"::TEXT::"foo_type"; ALTER TABLE "bar" ALTER COLUMN "foo" SET DEFAULT 'new_one'::foo_type; DROP TYPE "_old_foo_type"; ...