Как изменить значение столбца по умолчанию в 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;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.