Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

Типы данных

В этом разделе перечислены типы данных, доступные в Greengage DB.

Встроенные типы

Greengage DB предоставляет широкий набор встроенных типов данных для хранения различных значений и объектов. Большинство этих типов унаследованы от PostgreSQL и включают типы данных, определенные стандартом SQL, такие как bigint, bit, bit varying, boolean, character varying, varchar, character, char, date, double precision, integer, interval, numeric, decimal, real, smallint, time (с часовым поясом или без него), timestamp (с часовым поясом или без него) и xml. Подробное описание семантики и поведения стандартных типов данных доступно в разделе Data types документации PostgreSQL.

Помимо типов данных, доступных пользователям, в Greengage DB есть внутренние системные типы, такие как oid. Эти типы используются самой системой и, как правило, не предназначены для прикладного использования.

Типы расширений

Расширения Greengage DB могут вводить дополнительные типы данных, не доступные в стандартной поставке системы. Такие типы используются для специфических сценариев, реализация которых с использованием стандартных SQL-типов была бы неэффективной или трудоемкой.

Примеры:

  • Расширение citext, которое добавляет тип citext для регистронезависимых символьных строк.

  • Расширение hstore, которое добавляет тип hstore для хранения наборов пар ключ/значение.

Пользовательские типы

Пользователи могут определять собственные типы данных с помощью выражения CREATE TYPE. Пользовательские типы позволяют моделировать объекты отдельных предметных областей с собственными правилами валидации или представлять сложные структуры данных, не охваченные встроенными типами.

Пользовательские типы могут быть реализованы через составные типы, перечисления или собственные структуры из полей базовых типов. Их поведение и характеристики хранения зависят от способа реализации.

Список типов данных

ПРИМЕЧАНИЕ
  • Псевдонимы — это альтернативные названия типов данных, не определенные в стандарте SQL. Их использование может снижать переносимость между различными СУБД.

  • Подробная информация о типах данных доступна в таблице системного каталога pg_type.

Числовые типы

ПРИМЕЧАНИЕ

Типы serial, bigserial и smallserial не являются настоящими типами с собственной структурой хранения. Технически в столбцах этих типов хранятся значения соответствующих целочисленных типов, а для вычисления значений по порядку используются последовательности.

Название Псевдоним Размер Диапазон Описание

bigint

int8

8 байт

От -9223372036854775808 до 9223372036854775807

Целое число в большом диапазоне

bigserial

serial8

8 байт

От 1 до 9223372036854775807

Большое целое число с автоинкрементом

decimal[(p, s)]

numeric[(p, s)]

Переменный

Не ограничен

Вещественное число с указанной точностью. До 131072 знаков перед запятой и до 16383 — после

double precision

float8

8 байт

Точность до 15 десятичных цифр

Число с плавающей точкой двойной точности (неточное)

integer

int, int4

4 байта

От -2147483648 до +2147483647

Стандартный целочисленный тип

real

float4

4 байта

Точность до 6 десятичных цифр

Число с плавающей точкой одинарной точности (неточное)

serial

serial4

4 байта

От 1 до 2147483647

Целое число с автоинкрементом

smallint

int2

2 байта

От -32768 до +32767

Целочисленное значение в небольшом диапазоне

smallserial

serial2

2 байта

От 1 до 32767

Малое целое число с автоинкрементом

Логический тип

Название Псевдоним Размер Диапазон Описание

boolean

bool

1 байт

  • true, false

  • t, f

  • yes, no

  • y, n

  • 1, 0

Логическое значение

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

ПРИМЕЧАНИЕ
  • Максимальная возможная длина (n) значений символьных типов — 10485760.

  • Фиксированная часть размера для значений длиной 127 байт и более составляет четыре байта вместо одного.

Название Псевдоним Размер Диапазон Описание

character[(n)]

char[(n)]

1 байт + n

Строки длиной до n символов

Символьная строка фиксированной длины с дополнением пробелами. Без указания n используется char(1)

character varying[(n)]

varchar[(n)]

1 байт + длина строки

Строки длиной до n символов

Символьная строка переменной ограниченной длины. Без указания n принимаются строки любой длины

text

 — 

1 байт + длина строки

Строки произвольной длины

Символьная строка переменной длины

Двоичный тип

Название Размер Диапазон Описание

bytea

1 или 4 байта + размер двоичной строки

Последовательность октетов

Двоичная строка переменной длины (массив байт)

Типы даты и времени

ПРИМЕЧАНИЕ

Переменная p в определениях типов — это опциональное указание точности. Она задает число знаков после запятой, хранимых в поле секунд. Например, значение 3 позволяет хранить значения с точностью до миллисекунд. Возможные значения p — от 0 до 6 (или от 0 до 10 для типа time, когда он использует вещественное хранение).

Название Псевдоним Размер Диапазон Описание

date

 — 

4 байта

4713 до н.э. — 5874897 н.э.

Дата (год, месяц, день)

interval[fields][(p)]

 — 

16 байт

-178000000 лет — 178000000 лет

Временной интервал

time[(p)][without time zone]

 — 

8 байт

00:00:00[.000000] — 24:00:00[.000000]

Время суток

time[(p)] with time zone

timetz

12 байт

00:00:00+1459 — 24:00:00-1459

Время суток с часовым поясом

timestamp[(p)][without time zone]

 — 

8 байт

4713 до н.э. — 294276 н.э.

Дата и время

timestamp[(p)] with time zone

timestamptz

8 байт

4713 до н.э. — 294276 н.э.

Дата и время с часовым поясом

Денежный тип

Название Размер Диапазон Описание

money

8 байт

-92233720368547758.08 — +92233720368547758.07

Денежная сумма

Геометрические типы

ПРИМЕЧАНИЕ

Столбцы геометрических типов не могут использоваться в ключах распределения.

Название Размер Диапазон Описание

box

32 байта

((x1,y1),(x2,y2))

Прямоугольник на плоскости

circle

24 байта

<(x,y),r>

Окружность на плоскости, задаваемая центром и радиусом

line

24 байта

{A,B,C}

Бесконечная прямая на плоскости

lseg

32 байта

((x1,y1),(x2,y2))

Отрезок на плоскости

path

16 + 16n байт

[(x1,y1),…​]

((x1,y1),…​)

Геометрический путь на плоскости: открытый (в квадратных скобках) или замкнутый (в круглых скобках)

point

16 байт

(x,y)

Точка на плоскости

polygon

40 + 16n байт

((x1,y1),…​)

Многоугольник на плоскости (аналог замкнутого геометрического пути)

Типы сетевых адресов

Название Размер Описание

cidr

7 или 19 байт

Сетевой адрес IPv4 или IPv6

inet

7 или 19 байт

Адрес узла IPv4 или IPv6

macaddr

6 байт

MAC-адрес

Битовые строки

Название Псевдоним Размер Диапазон Описание

bit[(n)]

 — 

n бит

Константы битовых строк (Bit-string constant)

Битовая строка фиксированной длины

bit varying[(n)]

varbit

Число бит в строке

Константы битовых строк (Bit-string constant)

Битовая строка переменной длины

ПРИМЕЧАНИЕ

Столбцы типов полнотекстового поиска не могут использоваться в ключах распределения.

Название Диапазон Описание

tsquery

Набор лексем для поиска, объединенных логическими операторами

Поисковый запрос полнотекстового поиска

tsvector

Отсортированный список уникальных лексем

Документ полнотекстового поиска

Структурированные форматы данных: XML и JSON

Название Размер Диапазон Описание

json

1 байт + размер JSON

JSON произвольной длины

Данные JSON в текстовом виде

jsonb

1 байт + размер двоичной строки

JSON произвольной длины

Данные JSON в бинарном формате

xml

1 байт + размер XML

XML произвольной длины

Данные XML

UUID

Название Размер Диапазон Описание

uuid

16 байт

Стандартный формат UUID (32 шестнадцатеричных цифры)

Универсальный уникальный идентификатор UUID (RFC 4122)

Типы диапазонов

Название Диапазон Описание

int4range

  • [x, y]

  • (x,y)

  • [x,y)

  • (x,y]

ПРИМЕЧАНИЕ
  • Круглая скобка ((, )) означает открытую границу.

  • Квадратная скобка([, ]) означает включенную границу.

Диапазон значений integer

int8range

Диапазон значений bigint

numrange

Диапазон значений numeric

tsrange

Диапазон значений timestamp без часового пояса

tstzrange

Диапазон значений timestamp с часовым поясом

daterange

Диапазон значений date

Другие типы

Название Размер Диапазон Описание

pg_lsn

8 байт

Тип pg_lsn

Последовательный номер в логе PostgreSQL (Log Sequence Number)

txid_snapshot

 — 

xmin:xmax:xip_list

ID снимка транзакции