Comme indiqué dans le Documentation sur ALTER TABLE vous pouvez modifier la longueur de VARCHAR
colonnes en utilisant
ALTER TABLE table_name
{
ALTER COLUMN column_name TYPE new_data_type
}
Pour les autres types de colonnes, tout ce à quoi je peux penser est d'ajouter une nouvelle colonne avec un type de données correct, puis d'insérer toutes les données de l'ancienne colonne dans la nouvelle, et enfin de supprimer l'ancienne colonne.
Utilisez un code similaire à celui-ci :
ALTER TABLE t1 ADD COLUMN new_column ___correct_column_type___;
UPDATE t1 SET new_column = column;
ALTER TABLE t1 DROP COLUMN column;
ALTER TABLE t1 RENAME COLUMN new_column TO column;
Il y aura un changement de schéma - la colonne nouvellement ajoutée sera la dernière dans une table (cela peut poser un problème avec COPY
gardez cela à l'esprit - vous pouvez définir un ordre de colonne avec COPY
)