CREATE TYPE ... EXCEPTION WHEN duplicate_object no-ops on existing types, so volumes created before 'supervisor' existed kept an enum without it and assigning the role 500'd: invalid input value for enum user_role: "supervisor". ALTER TYPE ... ADD VALUE IF NOT EXISTS is idempotent and safe on any volume.