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 |
— |
Для типа фиксированного размера |
typbyval |
boolean |
— |
Определяет, передают ли внутренние процедуры значение этого типа по значению или по ссылке.
|
typtype |
char |
— |
См. также |
typcategory |
char |
— |
Произвольная классификация типов данных, используемая парсером для определения, какие неявные приведения следует предпочитать. См. коды категорий |
typispreferred |
boolean |
— |
|
typisdefined |
boolean |
— |
|
typdelim |
char |
— |
Символ, разделяющий два значения этого типа при разборе вводимого массива. Обратите внимание: разделитель связан с типом данных элемента массива, а не с типом данных массива |
typrelid |
oid |
pg_class.oid |
Если это составной тип (см. |
typelem |
oid |
pg_type.oid |
Если не |
typarray |
oid |
pg_type.oid |
Если не |
typinput |
regproc |
pg_proc.oid |
Функция преобразования ввода (из текстового формата) |
typoutput |
regproc |
pg_proc.oid |
Функция преобразования вывода (в текстовый формат) |
typreceive |
regproc |
pg_proc.oid |
Функция преобразования ввода (из двоичного формата), либо |
typsend |
regproc |
pg_proc.oid |
Функция преобразования вывода (в двоичный формат), либо |
typmodin |
regproc |
pg_proc.oid |
Функция ввода модификатора типа, либо |
typmodout |
regproc |
pg_proc.oid |
Функция вывода модификатора типа, либо |
typanalyze |
regproc |
pg_proc.oid |
Пользовательская функция |
typalign |
char |
— |
Требуемое выравнивание при хранении значения этого типа. Оно применяется к хранению на диске, а также к большинству представлений значения внутри Greengage DB. Когда последовательно хранятся несколько значений, как например в представлении полной строки на диске, дополнительные байты добавляются перед значением этого типа, чтобы оно начиналось с указанной границы. Заданное выравнивание определяет смещение первого элемента последовательности. Возможные значения:
|
typstorage |
char |
— |
Для типов
Обратите внимание, что столбцы |
typnotnull |
boolean |
— |
Представляет ограничение |
typbasetype |
oid |
pg_type.oid |
Определяет тип, на основе которого создан домен.
|
typtypmod |
integer |
— |
Домены используют |
typndims |
integer |
— |
Количество размерностей массива для домена, определенного поверх массива (если |
typcollation |
oid |
pg_collation.oid |
Задает правило сортировки для типа.
|
typdefaultbin |
pg_node_tree |
— |
Если не |
typdefault |
text |
— |
|
typacl |
aclitem[] |
— |
Права доступа (см. Роли и привилегии) |
В следующей таблице перечислены определенные системой значения typcategory.
Если этот список будет дополняться в будущем, в него будут добавляться тоже буквы ASCII в верхнем регистре.
Все остальные символы ASCII зарезервированы для категорий, определяемых пользователями.
| Код | Категория |
|---|---|
A |
Типы массивов |
B |
Логические типы |
C |
Составные типы |
D |
Типы даты/времени |
E |
Типы-перечисления |
G |
Геометрические типы |
I |
Типы, описывающие сетевые адреса |
N |
Числовые типы |
P |
Псевдотипы |
R |
Диапазонные типы |
S |
Строковые типы |
T |
Интервальные типы |
U |
Пользовательские типы |
V |
Типы битовых строк |
X |
Неизвестный тип ( |