Типы данныхНачальный
Типы данных
Определяют какие значения можно хранить в колонке и как они обрабатываются.
Синтаксис
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-разработчику. — У тебя схемы нет? — Нет, зато у тебя каждый документ — сам себе сеньор.
— Что такое идемпотентность в контексте SQL? — Запрос, который можно выполнить несколько раз с тем же результатом. — Пример? — INSERT ... ON CONFLICT DO NOTHING. Первый раз вставляет, второй — ничего не делает. — А обычный INSERT? — Создаст дубликат или упадёт с ошибкой.
— Почему все делают id BIGINT, а не INT? — INT: до 2 миллиардов. Звучит много. — Пока не окажется, что у вас 3 миллиарда строк. — Это же невозможно! — Twitter так тоже думал.