48 votes

Augmenter la taille du type de caractère variable dans postgres sans perte de données

J'ai besoin d'augmenter la taille d'un champ de caractère variable (60) dans une table de base de données postgres sans perte de données.

j'ai cette commande

 alter table client_details alter column name set character varying(200);

cette commande augmentera-t-elle la taille du champ de 60 à 200 sans perte de données ?

86voto

Peter prabu Points 861

La requête correcte pour modifier la limite de type de données de la colonne particulière :

 ALTER TABLE client_details ALTER COLUMN name TYPE character varying(200);

6voto

Tometzky Points 8230

Oui. Mais il réécrira cette table et la verrouillera exclusivement pendant la durée de la réécriture - toute requête essayant d'accéder à cette table attendra la fin de la réécriture.

Envisagez de changer le type en texte et d'utiliser la contrainte de vérification pour limiter la taille - la modification de la contrainte ne réécrirait ni ne verrouillerait une table.

3voto

jitendra varshney Points 2789

vous pouvez utiliser cette commande sql ci-dessous ALTER TABLE client_details ALTER COLUMN name TYPE varchar(200)

2voto

ulric260 Points 249

De PostgreSQL 9.2 Notes de version E.15.3.4.2

L'augmentation de la limite de longueur d'une colonne varchar ou varbit, ou la suppression totale de la limite, ne nécessite plus de réécriture de table.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X