Перейти к основному содержимому

Типы данных PostgreSQL

PostgreSQL поддерживает широкий спектр типов данных, разделенных на несколько групп.

1. Числовые типы​

ИмяРазмерОписаниеДиапазон
smallint2 байтацелое число малого диапазонаот -32768 до +32767
integer4 байтатипичный выбор для целых чиселот -2147483648 до +2147483647
bigint8 байтцелое число большого диапазонаот -9223372036854775808 до +9223372036854775807
decimal / numericпеременныйзаданная пользователем точность, точныйдо 131072 цифр перед запятой; до 16383 цифр после
real4 байтапеременная точность, неточныйточность 6 десятичных цифр
double precision8 байтпеременная точность, неточныйточность 15 десятичных цифр
smallserial2 байтамаленькое автоинкрементное целоеот 1 до 32767
serial4 байтаавтоинкрементное целоеот 1 до 2147483647
bigserial8 байтбольшое автоинкрементное целоеот 1 до 9223372036854775807

2. Символьные типы​

ИмяОписание
character(n) / char(n)фиксированная длина, дополняется пробелами
character varying(n) / varchar(n)переменная длина с ограничением
textпеременная длина без ограничения

Примечание: В PostgreSQL нет разницы в производительности между этими тремя типами.

3. Типы даты/времени​

ИмяРазмерОписание
timestamp8 байтдата и время (без часового пояса)
timestamp with time zone8 байтдата и время, с часовым поясом
date4 байтадата (без времени)
time8 байтвремя дня (без даты)
interval16 байтвременной интервал

4. Логический тип​

Тип boolean может иметь состояния true, false или «неизвестно» (представлено NULL).

5. Другие примечательные типы​

  • Геометрические типы: point, line, lseg, box, path, polygon, circle.
  • Типы сетевых адресов: cidr, inet, macaddr.
  • Типы JSON: json (текстовый), jsonb (бинарный, индексируемый).
  • UUID: uuid для универсально уникальных идентификаторов.
  • XML: xml для данных XML.

Назад к PostgreSQL