Типы данныхНачальный
Типы данных
Определяют какие значения можно хранить в колонке и как они обрабатываются.
Синтаксис
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
);Связанные термины
Анекдоты по теме
— Почему не стоит использовать SELECT * в production коде? — Если добавить колонку — приложение сломается на неожиданном поле. — Если удалить — тоже сломается. — Больше данных по сети и из базы. — Covering index не работает. — Явно указывай колонки. Это документация запроса.
— Как называется программист, который сделал UPDATE без WHERE в production? — Бывший программист.
Оптимизатор запросов говорит медленному подзапросу: — Ты почему тормозишь? — Я каждую строчку с каждой сравниваю через IN. — Используй EXISTS. — А я знаю, что я существую? — Вот поэтому ты и тормоз.