7
votes

Postgres: Réduisez la taille de Varchare et tronquez

J'ai actuellement une base de données Postgres 8.4 contenant une colonne Varcharchar (10000). Je voudrais changer cela en un varchar (255) et tronquer toutes les données qui se produisent trop longtemps. Comment puis-je faire cela?


0 commentaires

3 Réponses :


0
votes
BEGIN;
UPDATE table SET column = CAST(column as varchar(255));
ALTER TABLE table ALTER COLUMN column TYPE varchar(255); --not sure on this line. my memory is a bit sketchy
COMMIT;

0 commentaires

5
votes

1) Mettez à jour les données de la colonne à l'aide d'une méthode de sous-chaîne pour le tronquer xxx

2) puis modifier la colonne de table xxx

docs Ici http://www.postgresql.org/docs/8.4/stace /sql-altertable.html


1 commentaires

Il semble que ce soit avec plus récent de PGSQL, ce serait: Mettre à jour T Définir Col = Substring (Col de 1 pour 255) ("pour" remplace "à")



14
votes

quelque chose comme alter Table T alter col colonne C type Varcharchar (255) à l'aide de substruises (C, 1, 255)


0 commentaires