Como altero o valor padrão da coluna no PostgreSQL?

126

Como altero o valor padrão da coluna no PostgreSQL?

Eu tentei:

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

Mas isso me deu um erro:

ERROR: syntax error at or near "DEFAULT"
Luz cinza
fonte

Respostas:

243

'SET' é esquecido

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';
Luz cinza
fonte
13
Para que ONLYé utilizado antes do nome da tabela?
Nikon Sumeiko
20
"Se ONLY for especificado antes do nome da tabela, somente essa tabela será alterada. Se ONLY não for especificado, a tabela e todas as suas tabelas descendentes (se houver) serão alteradas" postgresql.org/docs/9.3/static/sql-altertable. html
Yodan Tauber 20/12/2015
80

Se você deseja remover a restrição de valor padrão, pode:

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