ALTER TABLE
Новые поля создаются секцией ADD COLUMN с таким же синтаксисом, как при создании таблицы командой CREATE TABLE (см. описание команды CREATE TABLE). Чтобы изменить или удалить значение по умолчанию для поля, воспользуйтесь секцией ALTER COLUMN с подсекциями SET DEFAULT или DROP DEFAULT (помните, что значения по умолчанию применяются только к вновь созданным полям и не распространяются на существующие поля).
PostgreSQL 7.1.x не позволяет задать значение по умолчанию или ограничение для поля одновременно с его созданием в секции ADD COLUMN. Тем не менее секция SET DEFAULT команды ALTER TABLE может использоваться для определения значений по умолчанию после создания поля. Если значение по умолчанию задается после того, как таблица использовалась в течение некоторого времени, не забудьте обновить содержимое поля командой UPDATE.
Примечание
Чтобы модифицировать таблицу, необходимо быть ее владельцем или суперпользователем.
Примеры
Следующая команда включает в таблицу employees новое поле address типа text:
booktown=# ALTER TABLE employees ADD COLUMN address text; ALTER
Затем созданное поле address переименовывается в mailing_address:
booktown=# ALTER TABLE employees RENAME COLUMN address TO mailing_address; ALTER
Переименование таблицы employees в personnel:
booktown=# ALTER TABLE employees RENAME TO personnel; ALTER
Следующая команда назначает новым владельцем таблицы personnel пользователя PostgreSQL с именем Jonathan:
booktown=# ALTER TABLE personnel OWNER TO Jonathan: ALTER
Наконец, следующая команда устанавливает для таблицы schedules ограничение внешнего ключа с именем valid_employee, проверяющее присутствие поля id в таблице personnel:
booktown=# ALTER TABLE schedules ADD CONSTRAINT valid_employee booktown-# FOREIGN KEY (employeejd) booktown-# REFERENCES personnel (id) MATCH FULL; NOTICE: ALTER TABLE… ADD CONSTRAINT will create implicit trigger(s) for FOREIGN KEY check(s) CREATE