PostgreSQL предоставляет пользователям богатый ассортимент встроенных типов данных. Кроме того, пользователи могут создавать свои типы в PostgreSQL, используя команду CREATE TYPE. Таблица содержит все встроенные типы данных общего пользования. Многие из альтернативных имён, приведённых в столбце «Псевдонимы», используются внутри PostgreSQL по историческим причинам. В этот список не включены некоторые устаревшие типы и типы для внутреннего применения.
| Имя | Псевдонимы | Описание |
| bigint | int8 | знаковое целое из 8 байт |
| bigserial | serial8 | восьмибайтное целое с автоувеличением |
| bit [ (n) ] | битовая строка фиксированной длины | |
| bit varying [ (n) ] | varbit [ (n) ] | битовая строка переменной длины |
| 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 | ||
| 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, например геометрические пути, и есть типы, которые могут иметь разные форматы, например, дата и время. Некоторые функции ввода и вывода не являются в точности обратными друг к другу, то есть результат функции вывода может не совпадать со входным значением из-за потери точности.
0 комментариев