Как изменить значение столбца по умолчанию в PostgreSQL?

126

Как изменить значение столбца по умолчанию в PostgreSQL?

Я пробовал:

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

Но это дало мне ошибку:

ERROR: syntax error at or near "DEFAULT"
Серебряный свет
источник

Ответы:

244

'SET' забыт

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';
Серебряный свет
источник
13
Зачем ONLYиспользуется перед названием таблицы?
Ник Сумейко
20
«Если перед именем таблицы указано ТОЛЬКО, изменяется только эта таблица. Если ТОЛЬКО не указано, изменяются таблица и все ее дочерние таблицы (если есть)» postgresql.org/docs/9.3/static/sql-altertable. html
Йодан Таубер
80

Если вы хотите удалить ограничение значения по умолчанию, вы можете сделать:

ALTER TABLE <table> ALTER COLUMN <column> DROP DEFAULT;
Сальвадор Дали
источник