37.23. domains #

Представление domains показывает все домены, определённые в текущей базе данных. В нём показываются только те домены, к которым имеет доступ текущий пользователь (являясь владельцем или имея некоторые права).

Таблица 37.21. Столбцы domains

Тип столбца

Описание

domain_catalog sql_identifier

Имя базы данных, содержащей домен (всегда текущая база)

domain_schema sql_identifier

Имя схемы, содержащей домен

domain_name sql_identifier

Имя домена

data_type character_data

Тип данных домена, если это встроенный тип, либо ARRAY, если это массив (в этом случае обратитесь к представлению element_types), иначе — USER-DEFINED (в этом случае тип определяется в udt_name и связанных столбцах).

character_maximum_length cardinal_number

Если домен имеет тип текстовой или битовой строки, это поле задаёт её объявленную максимальную длину; NULL для всех других типов данных, или если максимальная длина не объявлена.

character_octet_length cardinal_number

Если домен имеет тип символьной строки, это поле задаёт её максимально возможный размер в октетах (байтах); NULL для всех других типов данных. Максимальный размер в октетах зависит от объявленной максимальной длины в символах (см. выше) и от кодировки сервера.

character_set_catalog sql_identifier

Относится к функциональности, отсутствующей в Postgres Pro

character_set_schema sql_identifier

Относится к функциональности, отсутствующей в Postgres Pro

character_set_name sql_identifier

Относится к функциональности, отсутствующей в Postgres Pro

collation_catalog sql_identifier

Имя базы данных, содержащей правило сортировки домена (это всегда текущая база), либо NULL, если это правило по умолчанию или тип домена несортируемый

collation_schema sql_identifier

Имя схемы, содержащей правило сортировки домена, либо NULL, если это правило по умолчанию или тип домена несортируемый

collation_name sql_identifier

Имя правила сортировки домена, либо NULL, если это правило по умолчанию или тип домена несортируемый

numeric_precision cardinal_number

Если домен имеет числовой тип, этот столбец содержит точность (объявленную или неявную) типа для этого домена. Точность определяет число значащих цифр. Она может выражаться в десятичных (по основанию 10) или двоичных (по основанию 2) цифрах, согласно столбцу numeric_precision_radix. Для всех других типов данных этот столбец содержит NULL.

numeric_precision_radix cardinal_number

Если домен имеет числовой тип, в этом столбце определяется, по какому основанию задаются значения в столбцах numeric_precision и numeric_scale. Возможные варианты: 2 и 10. Для всех других типов данных этот столбец содержит NULL.

numeric_scale cardinal_number

Если домен имеет точный числовой тип, этот столбец содержит масштаб (объявленный или неявный) типа для этого домена. Масштаб определяет число значащих цифр справа от десятичной точки. Он может выражаться в десятичных (по основанию 10) или двоичных (по основанию 2) цифрах, согласно столбцу numeric_precision_radix. Для всех других типов данных этот столбец содержит NULL.

datetime_precision cardinal_number

Если в data_type указан тип даты, времени, отметки времени или интервала, этот столбец содержит точность (объявленную или неявную) в долях секунды типа для этого домена, то есть число десятичных цифр, сохраняемых после десятичной точки в значении секунд. Для всех других типов данных этот столбец содержит NULL.

interval_type character_data

Если в data_type указан тип интервала, этот столбец определяет, какие поля принимает интервал в домене, например: YEAR TO MONTH, DAY TO SECOND и т. д. Если ограничения для полей не заданы (то есть, интервал принимает все поля), и для любых других типов данных это поле содержит NULL.

interval_precision cardinal_number

Относится к функциональности, отсутствующей в Postgres Pro (см. поле datetime_precision, определяющее точность в долях секунды для типов интервалов)

domain_default character_data

Выражение по умолчанию для домена

udt_catalog sql_identifier

Имя базы данных, в которой определён тип данных домена (всегда текущая база)

udt_schema sql_identifier

Имя схемы, в которой определён тип данных домена

udt_name sql_identifier

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

scope_catalog sql_identifier

Относится к функциональности, отсутствующей в Postgres Pro

scope_schema sql_identifier

Относится к функциональности, отсутствующей в Postgres Pro

scope_name sql_identifier

Относится к функциональности, отсутствующей в Postgres Pro

maximum_cardinality cardinal_number

Всегда NULL, так как массивы имеют неограниченную максимальную ёмкость в Postgres Pro

dtd_identifier sql_identifier

Идентификатор дескриптора типа данных целевого домена, уникальный среди всех дескрипторов типов, относящихся к домену (что тривиально, так как домен содержит только один дескриптор типа). Он в основном полезен для соединения с другими экземплярами таких идентификаторов. (Конкретный формат идентификатора не определён и не гарантируется, что он останется неизменным в будущих версиях.)