¿Cómo cambio el valor predeterminado de la columna en PostgreSQL?

126

¿Cómo cambio el valor predeterminado de la columna en PostgreSQL?

He intentado:

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

Pero me dio un error:

ERROR: syntax error at or near "DEFAULT"
Luz plateada
fuente

Respuestas:

243

'SET' está olvidado

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';
Luz plateada
fuente
13
¿Para qué ONLYse usa antes del nombre de la tabla?
Nik Sumeiko
20
"Si SOLO se especifica antes del nombre de la tabla, solo se modifica esa tabla. Si SOLO no se especifica, la tabla y todas sus tablas descendientes (si las hay) se alteran" postgresql.org/docs/9.3/static/sql-altertable. html
Yodan Tauber
80

Si desea eliminar la restricción del valor predeterminado, puede hacer:

ALTER TABLE <table> ALTER COLUMN <column> DROP DEFAULT;
Salvador Dalí
fuente