34.23. element_types

Представление element_types показывает дескрипторы типов элементов массива. Когда столбец таблицы, атрибут составного типа, параметр или результат функции объявлены с типом массива, соответствующее представление информационной схемы будет содержать только ARRAY в столбце data_type. Чтобы получить информацию о типе элемента массива, можно связать соответствующее представление с данным. Например, просмотреть столбцы таблицы с типами данных и типами элементов массива (если это применимо) можно так:

SELECT c.column_name, c.data_type, e.data_type AS element_type
FROM information_schema.columns c LEFT JOIN information_schema.element_types e
     ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
       = (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier))
WHERE c.table_schema = '...' AND c.table_name = '...'
ORDER BY c.ordinal_position;

Это представление показывает только те объекты, к которым имеет доступ текущий пользователь, являясь владельцем или имея некоторые права.

Таблица 34.21. Столбцы element_types

ИмяТип данныхОписание
object_catalogsql_identifierИмя базы данных, содержащей объект, связанный с описываемым массивом (всегда текущая база)
object_schemasql_identifierИмя схемы, содержащей объект, связанный с описываемым массивом
object_namesql_identifierИмя объекта, связанного с описываемым массивом
object_typecharacter_dataТип объекта, связанного с описываемым массивом: TABLE (массив задействован в столбце этой таблицы), USER-DEFINED TYPE (массив задействован в атрибуте составного типа), DOMAIN (массив задействован в домене), ROUTINE (массив задействован в типе данных параметра или результата функции).
collection_type_identifiersql_identifierИдентификатор дескриптора типа данных для описываемого массива. Его можно использовать для соединения со столбцами dtd_identifier других представлений информационной схемы.
data_typecharacter_dataТип данных элементов массива, если это встроенный тип, либо USER-DEFINED (в этом случае тип определяется в udt_name и связанных столбцах).
character_maximum_lengthcardinal_numberВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
character_octet_lengthcardinal_numberВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
character_set_catalogsql_identifierОтносится к функциональности, отсутствующей в PostgreSQL
character_set_schemasql_identifierОтносится к функциональности, отсутствующей в PostgreSQL
character_set_namesql_identifierОтносится к функциональности, отсутствующей в PostgreSQL
collation_catalogsql_identifierИмя базы данных, содержащей правило сортировки типа элемента (это всегда текущая база), либо NULL, если это правило по умолчанию или тип элемента несортируемый
collation_schemasql_identifierИмя схемы, содержащей правило сортировки типа элемента, либо NULL, если это правило по умолчанию или тип элемента несортируемый
collation_namesql_identifierИмя правила сортировки типа элемента, либо NULL, если это правило по умолчанию или тип элемента несортируемый
numeric_precisioncardinal_numberВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
numeric_precision_radixcardinal_numberВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
numeric_scalecardinal_numberВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
datetime_precisioncardinal_numberВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
interval_typecharacter_dataВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
interval_precisioncardinal_numberВсегда NULL, так как эта информация неприменима к типам элементов массива в PostgreSQL
domain_defaultcharacter_dataЕщё не реализовано
udt_catalogsql_identifierИмя базы данных, в которой определён тип данных элемента (всегда текущая база)
udt_schemasql_identifierИмя схемы, в которой определён тип данных элемента
udt_namesql_identifierИмя типа данных элемента
scope_catalogsql_identifierОтносится к функциональности, отсутствующей в PostgreSQL
scope_schemasql_identifierОтносится к функциональности, отсутствующей в PostgreSQL
scope_namesql_identifierОтносится к функциональности, отсутствующей в PostgreSQL
maximum_cardinalitycardinal_numberВсегда NULL, так как массивы имеют неограниченную максимальную ёмкость в PostgreSQL
dtd_identifiersql_identifierИдентификатор дескриптора типа данных элемента. В настоящее время бесполезен.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy