ALTER TABLE
Изменяет структуру существующей таблицы: добавляет колонки, меняет типы, добавляет ограничения.
ALTER TABLE table ADD COLUMN col type [constraints]; DROP COLUMN col; ALTER COLUMN col TYPE new_type; ADD CONSTRAINT name CHECK (condition);
Объяснение
Пример
-- Добавить колонку (быстро в PG11+) ALTER TABLE users ADD COLUMN phone TEXT; -- Добавить CHECK constraint ALTER TABLE products ADD CONSTRAINT price_positive CHECK (price > 0); -- Переименовать колонку ALTER TABLE users RENAME COLUMN fullname TO full_name;
Связанные термины
Анекдоты по теме
— Зачем нужен pg_dump? — Создаёт логический бэкап базы данных. — Чем от физического бэкапа отличается? — Физический (pg_basebackup): копирует файлы. Быстро для полного восстановления. — Логический (pg_dump): SQL команды. Можно восстановить отдельную таблицу, мигрировать версии. — Что выбрать? — Оба. Физический для DR, логический для гибкости.
— Что такое foreign data wrapper? — Механизм для доступа к внешним источникам данных через SQL. — Примеры? — postgres_fdw: другой PostgreSQL сервер. — mysql_fdw: MySQL. — file_fdw: CSV файл. — Запросы работают как с обычными таблицами? — Да. JOIN между локальными и внешними данными. — Производительность? — Зависит от FDW. Pushdown предикатов — не всегда.
— Как отличить Junior от Senior в SQL? Junior пишет SELECT * FROM таблица. Senior пишет SELECT id, имя, фамилия FROM таблица. А потом добавляет WHERE и ORDER BY. И только потом запускает.