Модификация таблиц и атрибутов нолей.
Синтаксис
ALTER TABLE таблица [ * ]
ADD [ COLUMN ] поле тип
ALTER TABLE таблица [ * ]
ALTER [ COLUMN ] поле { SET DEFAULT noj/нолчант \ DROP DEFAULT }
ALTER TABLE таблица [ * ]
RENAME [ COLUMN ] попе ТО новое_попе
ALTER TABLE таблица
RENAME TO новое_имя
ALTER TABLE таблица
ADD CONSTRAINT новое_ограничение определение
ALTER TABLE таблица
OWNER TO новый_владелец
Параметры
Результаты
Описание
Команда ALTER TABLE предназначена для внесения разнообразных изменений в структуру существующих таблиц баз данных. Переименование полей или таблиц производится ключевым словом RENAME. Содержимое поля или таблицы при переименовании не изменяется. Новые ограничения включаются в таблицу секцией ADD CONSTRAINT, при этом ограничения определяются с таким же синтаксисом, как при создании таблицы командой CREATE TABLE (см. описание команды CREATE TABLE).
В последней на момент издания книги версии PostgreSQL (7.1.x) секция ADD CONSTRAINT поддерживает добавление только ограничений внешнего ключа (FOREIGN KEY) и проверки (CHECK). Ограничение уникальности (UNIQUE) можно установить косвенно — построением уникального индекса командой CREATE INDEX (см. описание команды CREATE INDEX). Чтобы создать любое другое ограничение, необходимо создать таблицу заново и заполнить ее данными.
Новые поля создаются секцией ADD COLUMN с таким же синтаксисом, как при создании таблицы командой CREATE TABLE (см. описание команды CREATE TABLE). Чтобы изменить или удалить значение по умолчанию для поля, воспользуйтесь секцией ALTER COLUMN с подсекциями SET DEFAULT или DROP DEFAULT (помните, что значения по умолчанию применяются только к вновь созданным полям и не распространяются на существующие поля).
PostgreSQL 7.1.x не позволяет задать значение по умолчанию или ограничение для поля одновременно с его созданием в секции ADD COLUMN. Тем не менее секция SET DEFAULT команды ALTER TABLE может использоваться для определения значений по умолчанию после создания поля. Если значение по умолчанию задается после того, как таблица использовалась в течение некоторого времени, не забудьте обновить содержимое поля командой UPDATE.
Примечание 1
Примечание 1
Чтобы модифицировать таблицу, необходимо быть ее владельцем или суперпользователем.