CREATE TABLE
Создаёт новую таблицу с определёнными колонками и ограничениями.
CREATE TABLE table_name ( column_name data_type [constraints], ... );
Объяснение
Пример
CREATE TABLE users ( id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, name TEXT NOT NULL, is_active BOOLEAN NOT NULL DEFAULT true, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() );
Связанные термины
Анекдоты по теме
— Что такое LISTEN/NOTIFY? — Механизм pub/sub внутри PostgreSQL. — Пример? — LISTEN new_orders; — В другой сессии: NOTIFY new_orders, 'order_id=42'; — Первая сессия мгновенно получает уведомление. — Зачем, если есть Redis? — Если уже используешь PostgreSQL — зачем добавлять Redis только для уведомлений?
— Зачем нужен GENERATED COLUMN? — Колонка, которая вычисляется автоматически из других колонок. — Пример? — full_name GENERATED ALWAYS AS (first_name || ' ' || last_name) STORED; — Хранит значение или вычисляет каждый раз? — STORED — хранит. VIRTUAL — вычисляет.
— Как изменить тип колонки в PostgreSQL? — ALTER TABLE orders ALTER COLUMN amount TYPE NUMERIC(15,2); — А если таблица большая? — PostgreSQL перепишет всю таблицу. На время — ACCESS EXCLUSIVE LOCK. — Как сделать без простоя? — Добавить новую колонку, мигрировать данные батчами, переключить приложение, удалить старую.