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

pg_type

Системная таблица pg_type хранит сведения о типах данных. Базовые типы (скалярные) создаются с помощью CREATE TYPE, а домены — с помощью CREATE DOMAIN. При добавлении любой таблицы в базу данных автоматически создается составной тип, представляющий структуру строки таблицы. Также можно создавать составные типы с помощью CREATE TYPE AS.

Столбец Тип Ссылки Описание

oid

oid

 — 

Идентификатор строки (скрытый атрибут; должен быть явно выбран)

typname

name

 — 

Имя типа данных

typnamespace

oid

pg_namespace.oid

OID пространства имен, содержащего этот тип

typowner

oid

pg_authid.oid

Владелец типа

typlen

int2

 — 

Для типа фиксированного размера typlen — это число байтов во внутреннем представлении типа. Для типа переменной длины typlen отрицателен. -1 указывает на тип varlena (он содержит машинное слово, определяющее длину), -2 обозначает строку в стиле C, оканчивающуюся нулем

typbyval

boolean

 — 

Определяет, передают ли внутренние процедуры значение этого типа по значению или по ссылке. typbyval лучше присвоить false, если typlen не равен 1, 2 или 4 (либо 8, на 64-битных машинах). Типы переменной длины всегда передаются по ссылке. Обратите внимание: typbyval может быть false, даже если размер типа позволяет передачу по значению

typtype

char

 — 

  • b — базовый тип

  • c — составной тип

  • d — домен

  • e — перечисление

  • p — псевдотип

  • r — диапазон

См. также typrelid и typbasetype

typcategory

char

 — 

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

typispreferred

boolean

 — 

true, если тип является предпочтительной целью приведения в пределах своей категории (typcategory)

typisdefined

boolean

 — 

true, если тип определен. false, если это тип-заготовка для еще не определенного типа. Когда значение typisdefined — false, можно полагаться только на заданное имя, пространство имен и OID типа

typdelim

char

 — 

Символ, разделяющий два значения этого типа при разборе вводимого массива. Обратите внимание: разделитель связан с типом данных элемента массива, а не с типом данных массива

typrelid

oid

pg_class.oid

Если это составной тип (см. typtype), то этот столбец указывает на запись pg_class, которая определяет соответствующую таблицу. Для независимого составного типа запись в pg_class на самом деле не представляет таблицу, но она все равно нужна для связывания с записями pg_attribute этого типа. Для не составных типов содержит 0

typelem

oid

pg_type.oid

Если не 0, то идентифицирует другую строку в pg_type. Текущий тип затем можно индексировать как массив, получая значения типа typelem. "Истинный" тип массива имеет переменную длину (typlen = -1), но некоторые типы фиксированной длины (typlen > 0) тоже имеют ненулевой typelem, например name и point. Если тип фиксированной длины имеет typelem, то его внутреннее представление должно быть некоторым количеством значений типа данных typelem без каких-либо других данных. Типы массивов переменной длины имеют заголовок, определенный подпрограммами массива

typarray

oid

pg_type.oid

Если не 0, указывает на другую строку в pg_type, которая является "истинным" типом массива, имеющим данный тип в качестве элемента. Используйте pg_type.typarray, чтобы найти тип массива, связанный с конкретным типом

typinput

regproc

pg_proc.oid

Функция преобразования ввода (из текстового формата)

typoutput

regproc

pg_proc.oid

Функция преобразования вывода (в текстовый формат)

typreceive

regproc

pg_proc.oid

Функция преобразования ввода (из двоичного формата), либо 0, если ее нет

typsend

regproc

pg_proc.oid

Функция преобразования вывода (в двоичный формат), либо 0, если ее нет

typmodin

regproc

pg_proc.oid

Функция ввода модификатора типа, либо 0, если тип не поддерживает модификаторы

typmodout

regproc

pg_proc.oid

Функция вывода модификатора типа, либо 0 для использования стандартного формата

typanalyze

regproc

pg_proc.oid

Пользовательская функция ANALYZE или 0, чтобы использовать стандартную функцию

typalign

char

 — 

Требуемое выравнивание при хранении значения этого типа. Оно применяется к хранению на диске, а также к большинству представлений значения внутри Greengage DB. Когда последовательно хранятся несколько значений, как например в представлении полной строки на диске, дополнительные байты добавляются перед значением этого типа, чтобы оно начиналось с указанной границы. Заданное выравнивание определяет смещение первого элемента последовательности. Возможные значения:

  • c — выравнивание по символам (выравнивание не требуется).

  • s — выравнивание по коротким словам (2 байта на большинстве машин).

  • i — выравнивание по целым (4 байта на большинстве машин).

  • d — выравнивание по двойным словам (8 байт на многих машинах, но не на всех).

typstorage

char

 — 

Для типов varlena (у которых typlen = -1) сообщает, готов ли тип для помещения в TOAST и какова стратегия по умолчанию для атрибутов этого типа. Возможные значения:

  • p — значение всегда должно храниться как обычный текст.

  • e — значение может храниться во "вторичном" отношении (если оно есть у отношения, см. pg_class.reltoastrelid).

  • m — значение может храниться в сжатом виде внутри строки.

  • x — значение может храниться в сжатом виде внутри строки или во "вторичном" хранилище.

Обратите внимание, что столбцы m также могут быть перемещены во вторичное хранилище, но только в крайнем случае (столбцы e и x перемещаются в первую очередь)

typnotnull

boolean

 — 

Представляет ограничение NOT NULL для типа. Используется только для доменов

typbasetype

oid

pg_type.oid

Определяет тип, на основе которого создан домен. 0, если этот тип не является доменом

typtypmod

integer

 — 

Домены используют typtypmod для записи модификатора (typmod), применяемого к их базовому типу (-1, если базовый тип не использует typmod). -1, если этот тип не является доменом

typndims

integer

 — 

Количество размерностей массива для домена, определенного поверх массива (если typbasetype является типом массива). Для типов, отличных от доменов поверх типов массивов, принимает значение 0

typcollation

oid

pg_collation.oid

Задает правило сортировки для типа. 0, если тип не поддерживает правила сортировки. Значение DEFAULT_COLLATION_OID — для базового типа, который поддерживает правила сортировки. Домен на базе сортируемого типа может иметь другой OID правила сортировки, если оно было изменено для домена

typdefaultbin

pg_node_tree

 — 

Если не NULL, содержит представление выражения по умолчанию для типа в формате nodeToString(). Используется только для доменов

typdefault

text

 — 

NULL, если у типа нет значения по умолчанию. Если typdefaultbin не NULL, typdefault должен содержать понятную человеку версию выражения по умолчанию, представленного в typdefaultbin. Если typdefaultbin равен NULL, а typdefault — нет, то typdefault содержит внешнее представление значения по умолчанию, которое можно передать функции преобразования ввода и получить константу

typacl

aclitem[]

 — 

Права доступа (см. Роли и привилегии)

В следующей таблице перечислены определенные системой значения typcategory. Если этот список будет дополняться в будущем, в него будут добавляться тоже буквы ASCII в верхнем регистре. Все остальные символы ASCII зарезервированы для категорий, определяемых пользователями.

Код Категория

A

Типы массивов

B

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

C

Составные типы

D

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

E

Типы-перечисления

G

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

I

Типы, описывающие сетевые адреса

N

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

P

Псевдотипы

R

Диапазонные типы

S

Строковые типы

T

Интервальные типы

U

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

V

Типы битовых строк

X

Неизвестный тип (unknown)