Comment changer la valeur par défaut de la colonne dans PostgreSQL?

126

Comment changer la valeur par défaut de la colonne dans PostgreSQL?

J'ai essayé:

ALTER TABLE ONLY users ALTER COLUMN lang DEFAULT 'en_GB';

Mais cela m'a donné une erreur:

ERROR: syntax error at or near "DEFAULT"
Lumière argentée
la source

Réponses:

243

'SET' est oublié

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';
Lumière argentée
la source
13
À quoi ONLYsert le nom de la table?
Nik Sumeiko
20
"Si ONLY est spécifié avant le nom de la table, seule cette table est modifiée. Si ONLY n'est pas spécifié, la table et toutes ses tables descendantes (le cas échéant) sont modifiées" postgresql.org/docs/9.3/static/sql-altertable. html
Yodan Tauber
80

Si vous souhaitez supprimer la contrainte de valeur par défaut, vous pouvez faire:

ALTER TABLE <table> ALTER COLUMN <column> DROP DEFAULT;
Salvador Dali
la source