Глава 8. Типы данных
- Содержание
- 8.1. Числовые типы
- 8.1.1. Целочисленные типы
- 8.1.2. Числа с фиксированной точностью
- 8.1.3. Типы с плавающей точкой
- 8.1.4. Последовательные типы
- 8.1.2. Числа с фиксированной точностью
- 8.1.1. Целочисленные типы
- 8.2. Денежные типы
- 8.3. Символьные типы
- 8.4. Двоичные типы данных
- 8.3. Символьные типы
- 8.5. Типы даты/времени
- 8.5.1. Ввод даты/времени
- 8.5.2. Вывод даты/времени
- 8.5.3. Часовые пояса
- 8.5.4. Ввод интервалов
- 8.5.5. Вывод интервалов
- 8.5.2. Вывод даты/времени
- 8.5.1. Ввод даты/времени
- 8.6. Логический тип
- 8.7. Типы перечислений
- 8.7.1. Объявление перечислений
- 8.7.2. Порядок
- 8.7.3. Безопасность типа
- 8.7.4. Тонкости реализации
- 8.7.2. Порядок
- 8.7.1. Объявление перечислений
- 8.8. Геометрические типы
- 8.8.1. Точки
- 8.8.2. Прямые
- 8.8.3. Отрезки
- 8.8.4. Прямоугольники
- 8.8.5. Пути
- 8.8.6. Многоугольники
- 8.8.7. Окружности
- 8.8.2. Прямые
- 8.8.1. Точки
- 8.9. Типы, описывающие сетевые адреса
- 8.9.1. inet
- 8.9.2. cidr
- 8.9.3. Различия inet и cidr
- 8.9.4. macaddr
- 8.9.2. cidr
- 8.9.1. inet
- 8.10. Битовые строки
- 8.11. Типы, предназначенные для текстового поиска
- 8.12. Тип UUID
- 8.13. Тип XML
- 8.13.1. Создание XML-значений
- 8.13.2. Обработка кодировки
- 8.13.3. Обращение к XML-значениям
- 8.13.2. Обработка кодировки
- 8.13.1. Создание XML-значений
- 8.14. Типы JSON
- 8.15. Массивы
- 8.15.1. Объявления типов массивов
- 8.15.2. Ввод значения массива
- 8.15.3. Обращение к массивам
- 8.15.4. Изменение массивов
- 8.15.5. Поиск значений в массивах
- 8.15.6. Синтаксис вводимых и выводимых значений массива
- 8.15.2. Ввод значения массива
- 8.15.1. Объявления типов массивов
- 8.16. Составные типы
- 8.17. Диапазонные типы
- 8.17.1. Встроенные диапазонные типы
- 8.17.2. Примеры
- 8.17.3. Включение и исключение границ
- 8.17.4. Неограниченные (бесконечные) диапазоны
- 8.17.5. Ввод/вывод диапазонов
- 8.17.6. Конструирование диапазонов
- 8.17.7. Типы дискретных диапазонов
- 8.17.8. Определение новых диапазонных типов
- 8.17.9. Индексация
- 8.17.10. Ограничения для диапазонов
- 8.17.2. Примеры
- 8.17.1. Встроенные диапазонные типы
- 8.18. Идентификаторы объектов
- 8.19. Тип pg_lsn
- 8.20. Псевдотипы
- 8.19. Тип pg_lsn
PostgreSQL предоставляет пользователям богатый ассортимент встроенных типов данных. Кроме того, пользователи могут создавать свои типы в PostgreSQL, используя команду CREATE TYPE.
Таблица 8-1 содержит все встроенные типы данных общего пользования. Многие из альтернативных имён, приведённых в колонке "Псевдонимы", используются внутри PostgreSQL по историческим причинам. В этот список не включены некоторые устаревшие типы и типы для внутреннего применения.
Таблица 8-1. Типы данных
Имя | Псевдонимы | Описание |
---|---|---|
bigint | int8 | знаковое целое из 8 байт |
bigserial | serial8 | восьмибайтное целое с автоувеличением |
bit [ (n) ] | битовая строка фиксированной длины | |
bit varying [ (n) ] | varbit | битовая строка переменной длины |
boolean | bool | логическое значение (true/false) |
box | прямоугольник в плоскости | |
bytea | двоичные данные ("массив байт") | |
character [ (n) ] | char [ (n) ] | символьная строка фиксированной длины |
character varying [ (n) ] | varchar [ (n) ] | символьная строка переменной длины |
cidr | сетевой адрес IPv4 или IPv6 | |
circle | круг в плоскости | |
date | календарная дата (год, месяц, день) | |
double precision | float8 | число двойной точности с плавающей точкой (8 байт) |
inet | адрес узла IPv4 или IPv6 | |
integer | int, int4 | знаковое четырёхбайтное целое |
interval [ поля ] [ (p) ] | интервал времени | |
json | текстовые данные JSON | |
jsonb | двоичные данные JSON, разобранные | |
line | прямая в плоскости | |
lseg | отрезок в плоскости | |
macaddr | MAC-адрес | |
money | денежная сумма | |
numeric [ (p, s) ] | decimal [ (p, s) ] | вещественное число заданной точности |
path | геометрический путь в плоскости | |
pg_lsn | Последовательный номер в журнале PostgreSQL | |
point | геометрическая точка в плоскости | |
polygon | замкнутый геометрический путь в плоскости | |
real | float4 | число одинарной точности с плавающей точкой (4 байта) |
smallint | int2 | знаковое двухбайтное целое |
smallserial | serial2 | двухбайтное целое с автоувеличением |
serial | serial4 | четырёхбайтное целое с автоувеличением |
text | символьная строка переменной длины | |
time [ (p) ] [ without time zone ] | время суток (без часового пояса) | |
time [ (p) ] with time zone | timetz | время суток с учётом часового пояса |
timestamp [ (p) ] [ without time zone ] | дата и время (без часового пояса) | |
timestamp [ (p) ] with time zone | timestamptz | дата и время с учётом часового пояса |
tsquery | запрос текстового поиска | |
tsvector | документ для текстового поиска | |
txid_snapshot | снимок идентификатора транзакций | |
uuid | универсальный уникальный идентификатор | |
xml | XML-данные |
Совместимость: В стандарте SQL описаны следующие типы (или их имена): bigint, bit, bit varying, boolean, char, character varying, character, varchar, date, double precision, integer, interval, numeric, decimal, real, smallint, time (с часовым поясом и без), timestamp (с часовым поясом и без), xml.
Каждый тип данных имеет внутреннее представление, скрытое функциями ввода и вывода. При этом многие встроенные типы стандартны и имеют очевидные внешние форматы. Однако есть типы, уникальные для PostgreSQL, например геометрические пути, и есть типы, которые могут иметь разные форматы, например, дата и время. Некоторые функции ввода и вывода не являются в точности обратными друг к другу, то есть результат функции вывода может не совпадать со входным значением из-за потери точности.
Пред. | Начало | След. |
Запросы WITH (Общие табличные выражения) | Уровень выше | Числовые типы |