PostgreSQL предлагает широкий спектр типов данных для хранения различных форматов информации. Вот основные типы данных, используемые в PostgreSQL:
Числовые Типы
Целые Числа
smallint
: 2-байтное целое число (диапазон от -32768 до 32767).integer
(или int
): 4-байтное целое число (диапазон от -2147483648 до 2147483647).bigint
: 8-байтное целое число (диапазон от -9223372036854775808 до 9223372036854775807).
Числа с Плавающей Точкой
real
: 4-байтное число с плавающей точкой (одинарной точности).double precision
: 8-байтное число с плавающей точкой (двойной точности).
Числа с Фиксированной Точкой
numeric
(или decimal
): точное число с плавающей точкой с произвольной точностью. Полезно для финансовых данных, где важна точность.
Символьные Типы
- Строки
char(n)
: строка фиксированной длины, заполняется пробелами.varchar(n)
: строка переменной длины с ограничением длины n
.text
: строка переменной длины без ограничения.
Логический Тип
boolean
: логическое значение, может быть TRUE
, FALSE
или NULL
.
Дата и Время
date
: календарная дата (год, месяц, день).time [ (p) ] [ without time zone ]
: время суток (часы, минуты, секунды). p
указывает точность долей секунды.time [ (p) ] with time zone
: время суток с часовым поясом.timestamp [ (p) ] [ without time zone ]
: дата и время (без часового пояса).timestamp [ (p) ] with time zone
: дата и время с часовым поясом.interval
: промежуток времени.
Монетарный Тип
money
: значение с фиксированной точкой для представления денежных величин.
Сетевые Адреса
cidr
: IPv4 или IPv6 сеть.inet
: IPv4 или IPv6 адрес.macaddr
: MAC-адрес (шестибайтовый адрес).
UUID
uuid
: универсально уникальный идентификатор.
JSON и XML
json
: JSON данные, без валидности структуры.jsonb
: JSON данные, сохраняются в бинарной форме с оптимизацией для поиска.xml
: XML данные.
Геометрические Типы
point
: точка на плоскости (координаты X и Y).line
: линия на плоскости.lseg
: отрезок.box
: прямоугольник.path
: путь (открытый или закрытый).polygon
: многоугольник.circle
: круг.
Массовые Типы
array
: массив любого типа данных (например, integer[]
для массива целых чисел).composite
: составной тип, может содержать несколько полей различных типов.
Специальные Типы
tsvector
: текстовый вектор для полнотекстового поиска.tsquery
: запрос для полнотекстового поиска.
Доменные Типы
domain
: определяемый пользователем тип данных с ограничениями.