Типы данныхНачальный
Типы данных
Определяют какие значения можно хранить в колонке и как они обрабатываются.
Синтаксис
column_name data_type [NOT NULL] [DEFAULT value]Объяснение
Основные типы PostgreSQL:
Числовые: SMALLINT (2b), INTEGER (4b), BIGINT (8b), NUMERIC/DECIMAL (точные), FLOAT/DOUBLE (приближённые).
Строки: TEXT (любая длина), VARCHAR(n) (с ограничением), CHAR(n) (фиксированная).
Дата/время: DATE, TIME, TIMESTAMP, TIMESTAMPTZ (с TZ — рекомендуется).
Другие: BOOLEAN, UUID, JSONB, ARRAY, BYTEA.
Пример
CREATE TABLE example (
id BIGINT PRIMARY KEY,
price NUMERIC(10, 2), -- точные деньги
rating FLOAT, -- приближённое
name TEXT,
created_at TIMESTAMPTZ DEFAULT NOW(),
tags TEXT[], -- массив
metadata JSONB
);Связанные термины
Анекдоты по теме
SQL написан в 1974 году. SQL до сих пор используется везде. SQL пережил dBase, FoxPro, объектные базы, XML-базы, NoSQL-революцию. SQL смотрит на новые технологии: — Я подожду.
— Зачем нормализовать базу данных? — Чтобы не хранить одно и то же в разных местах. — А денормализовать? — Чтобы читать быстро, не делая JOIN. — Значит, нужно найти баланс? — Именно. Это называется «проектирование схемы».
— Зачем нужен CHECK constraint? — Чтобы база сама проверяла правила. — Пример? — ALTER TABLE products ADD CONSTRAINT price_positive CHECK (price > 0); Теперь нельзя вставить товар с отрицательной ценой. — А если попробовать? — ERROR: new row violates check constraint.