PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Erreur sur ALTER TYPE dans la relation postgres n'existe pas

ALTER TYPE ... RENAME ATTRIBUTE ne fonctionne que pour les types composites, pas pour ENUM type.

Bien qu'il existe un moyen d'ajouter de nouvelles entrées à un tel type (ALTER TYPE ... ADD VALUE 'new_value' ), il n'existe aucun moyen pris en charge pour supprimer ou renommer une entrée d'énumération.

Si vous n'avez pas peur de jouer avec les catalogues, vous pouvez essayer en tant que superutilisateur :

UPDATE pg_enum
SET enumlabel = 'softwaredev'
WHERE enumtypid = 'user_types'::regtype
  AND enumlabel = 'it';

À partir de PostgreSQL v10, vous pouvez utiliser

ALTER TYPE ... RENAME VALUE ... TO ...