Типы данныхНачальный
Типы данных
Определяют какие значения можно хранить в колонке и как они обрабатываются.
Синтаксис
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
);Связанные термины
Анекдоты по теме
NoSQL-разработчик стучится в дом к SQL-разработчику. — У тебя схемы нет? — Нет, зато у тебя каждый документ — сам себе сеньор.
— Что такое materialized path для деревьев? — Храним путь от корня в строке: '1/4/7/12' — Поиск всех потомков: WHERE path LIKE '1/4/%' — Плюсы? — Простота. Быстрый поиск поддерева. — Минусы? — Перемещение узла — обновить все потомки. — Альтернативы? — nested sets, closure table, рекурсивный CTE.
— Почему мой запрос не находит «Иванов»? — Покажи WHERE. — WHERE name = 'иванов' — Регистр. — О. — Используй ILIKE или LOWER().