34.22. domains
Представление domains показывает все домены, определённые в текущей базе данных. В нём показываются только те домены, к которым имеет доступ текущий пользователь (являясь владельцем или имея некоторые права).
Таблица 34.20. Столбцы 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 | Относится к функциональности, отсутствующей в PostgreSQL | 
| character_set_schema | sql_identifier | Относится к функциональности, отсутствующей в PostgreSQL | 
| character_set_name | sql_identifier | Относится к функциональности, отсутствующей в PostgreSQL | 
| 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 | Относится к функциональности, отсутствующей в PostgreSQL (см. поле datetime_precision, определяющее точность в долях секунды для типов интервалов) | 
| domain_default | character_data | Выражение по умолчанию для домена | 
| udt_catalog | sql_identifier | Имя базы данных, в которой определён тип данных домена (всегда текущая база) | 
| udt_schema | sql_identifier | Имя схемы, в которой определён тип данных домена | 
| udt_name | sql_identifier | Имя типа данных домена | 
| scope_catalog | sql_identifier | Относится к функциональности, отсутствующей в PostgreSQL | 
| scope_schema | sql_identifier | Относится к функциональности, отсутствующей в PostgreSQL | 
| scope_name | sql_identifier | Относится к функциональности, отсутствующей в PostgreSQL | 
| maximum_cardinality | cardinal_number | Всегда NULL, так как массивы имеют неограниченную максимальную ёмкость в PostgreSQL | 
| dtd_identifier | sql_identifier | Идентификатор дескриптора типа данных целевого домена, уникальный среди всех дескрипторов типов, относящихся к домену (что тривиально, так как домен содержит только один дескриптор типа). Он в основном полезен для соединения с другими экземплярами таких идентификаторов. (Конкретный формат идентификатора не определён и не гарантируется, что он останется неизменным в будущих версиях.) |