Информационная схема

Информационная схема состоит из набора представлений, содержащих информацию об объектах, определенных в текущей базе данных. Информационная схема определена в стандарте SQL, и поэтому можно ожидать, что она будет переносима и при этом останется стабильной — в отличие от системных каталогов, которые специфичны для QHB и моделируются, исходя из потребностей реализации. Однако представления информационной схемы не содержат информацию о функциональности, характерной только для QHB; чтобы узнать о нем, нужно запросить системные каталоги или другие специализированные представления QHB.

Примечание
При запрашивании из базы данных информации об ограничениях возможен сценарий, когда соответствующий стандарту запрос, который должен возвращать одну строку, возвращает несколько. Это происходит из-за того, что стандарт SQL требует, чтобы имена ограничений были уникальными в схеме, но QHB это требование не поддерживает. Автоматически генерируемые имена ограничений в QHB обычно не повторяются в одной схеме, но пользователи могут задать такие повторяющиеся имена.

Эта проблема может возникнуть при запросе информации из таких представлений информационной схемы, как check_constraint_routine_usage, check_constraints, domain_constraints и referential_constraints. В некоторых других представлениях тоже имеются схожие затруднения, но эти представления содержат имя таблицы, что помогает различить повторяющиеся строки, например: constraint_column_usage, constraint_table_usage, table_constraints.



Схема

Сама по себе информационная схема — это схема с именем information_schema. Данная схема автоматически существует во всех базах данных. Владельцем этой схемы является изначальный пользователь баз данных в кластере, и этот пользователь, естественно, имеет все права на эту схему, включая возможность ее удалить (хотя достигаемая при этом экономия пространства крайне мала).

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



Типы данных

В столбцах представлений информационной схемы используются специальные типы данных, определенные в информационной схеме. Они определяются как простые домены поверх обычных встроенных типов. Эти типы не следует использовать для работы вне информационной схемы, но если ваши приложения выбирают из нее данные, они должны быть готовы к работе с такими типами.

Это следующие типы:

cardinal_number
Неотрицательное целое число.

character_data
Строка символов (без конкретной максимальной длины).

sql_identifier
Строка символов. Этот тип используется для идентификаторов SQL, тогда как тип character_data используется для всех остальных видов текстовых данных.

time_stamp
Домен поверх типа timestamp with time zone.

yes_or_no
Домен строки символов, содержащий YES или NO. Этот домен используется для представления логических данных (true/false, истина/ложь) в информационной схеме. (Информационная схема была изобретена до того, как в стандарт SQL добавили тип boolean, поэтому такое преобразование необходимо для сохранения обратной совместимости информационной схемы.)

Каждый столбец в информационной схеме имеет один из этих пяти типов.



information_schema_catalog_name

Таблица information_schema_catalog_name всегда содержит одну строку и один столбец с именем текущей базы данных (текущий каталог в терминологии SQL).

Таблица 1. Столбцы information_schema_catalog_name

Столбец Тип
Описание
catalog_name sql_identifier
Имя базы данных, содержащей эту информационную схему


administrable_role_​authorizations

В представлении administrable_role_authorizations указаны все роли, для которых текущий пользователь имеет права администратора.

Таблица 2. Столбцы administrable_role_authorizations

Столбец Тип
Описание
grantee sql_identifier
Имя роли, которой было выдано членство в этой роли (может быть текущий пользователь или другая роль, в случае вложенного членства)
role_name sql_identifier
Имя роли
is_grantable yes_or_no
Всегда YES


applicable_roles

В представлении applicable_roles указаны все роли, права которых может использовать текущий пользователь. Это означает, что существует некоторая цепочка прав ролей от текущего пользователя к целевой роли. Сам текущий пользователь тоже считается применимой ролью. Обычно набор применимых ролей используется для проверки разрешений.

Таблица 3. Столбцы applicable_roles

Столбец Тип
Описание
grantee sql_identifier
Имя роли, которой было выдано членство в этой роли (может быть текущий пользователь или другая роль, в случае вложенного членства)
role_name sql_identifier
Имя роли
is_grantable yes_or_no
YES, если правополучатель имеет права администратора для этой роли, NO, если не имеет


attributes

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

Таблица 4. Столбцы attributes

Столбец Тип
Описание
udt_catalog sql_identifier
Имя базы данных, содержащей тип данных (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, содержащей тип данных
udt_name sql_identifier
Имя типа данных
attribute_name sql_identifier
Имя атрибута
ordinal_position cardinal_number
Порядковый номер атрибута внутри типа данных (нумерация начинается с 1)
attribute_default character_data
Выражение по умолчанию для атрибута
is_nullable yes_or_no
YES, если атрибут может содержать NULL, NO, если не может.
data_type character_data
Тип данных атрибута, если это встроенный тип, или ARRAY, если это некоторый массив (в этом случае см. представление element_types), иначе USER-DEFINED (в этом случае тип описывается в attribute_udt_name и связанных столбцах).
character_maximum_length cardinal_number
Если в data_type указан тип символьной или битовой строки, здесь содержится объявленная максимальная длина; NULL для всех остальных типов данных или если максимальная длина не объявлена.
character_octet_length cardinal_number
Если в data_type указан символьный тип, здесь содержится максимально возможная длина данных в октетах (байтах); NULL для всех остальных типов данных. Максимальная длина в октетах зависит от объявленной максимальной длины в символах (см. выше) и от кодировки сервера.
character_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_catalog sql_identifier
Имя базы данных, содержащей правило сортировки атрибута (всегда текущая база данных); NULL, если это правило по умолчанию или тип данных атрибута несортируемый
collation_schema sql_identifier
Имя схемы, содержащей правило сортировки атрибута; NULL, если это правило по умолчанию или тип данных атрибута несортируемый
collation_name sql_identifier
Имя правила сортировки атрибута; NULL, если это правило по умолчанию или тип данных атрибута несортируемый
numeric_precision cardinal_number
Если в data_type указан числовой тип, этот столбец содержит (объявленную или неявную) точность типа для этого атрибута. Точность определяет количество значащих цифр. Она может выражаться в десятичных (по основанию 10) или двоичных (по основанию 2) единицах, согласно столбцу numeric_precision_radix. Для всех остальных типов данных этот столбец содержит NULL.
numeric_precision_radix cardinal_number
Если в data_type указан числовой тип, этот столбец определяет, по какому основанию выражаются значения в столбцах numeric_precision и numeric_scale. Значение может быть 2 или 10. Для всех остальных типов данных этот столбец содержит NULL.
numeric_scale cardinal_number
Если в data_type указан точный числовой тип, этот столбец содержит (объявленный или неявный) масштаб типа для этого атрибута. Масштаб определяет количество значащих цифр справа от десятичной точки. Он может выражаться в десятичных (по основанию 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
Относится к функциональности, отсутствующей в QHB (точность в долях секунды типов интервалов для атрибута см. в столбце datetime_precision)
attribute_udt_catalog sql_identifier
Имя базы данных, в которой определен тип данных атрибута (всегда текущая база данных)
attribute_udt_schema sql_identifier
Имя схемы, в которой определен тип данных атрибута
attribute_udt_name sql_identifier
Имя типа данных атрибута
scope_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_name sql_identifier
Относится к функциональности, отсутствующей в QHB
maximum_cardinality cardinal_number
Всегда NULL, поскольку в QHB массивы всегда имеют неограниченную максимальную емкость
dtd_identifier sql_identifier
Идентификатор дескриптора типа данных столбца, уникальный среди дескрипторов типов данных, относящихся к таблице. В основном он полезен для соединения с другими экземплярами таких идентификаторов. (Конкретный формат идентификатора не определяется, и не гарантируется, что он останется неизменным в будущих версиях.)
is_derived_reference_attribute yes_or_no
Относится к функциональности, отсутствующей в QHB

Дополнительную информацию о некоторых столбцах можно также найти в описании columns, представления со схожей структурой.



character_sets

В представлении character_sets указаны наборы символов, доступных в текущей базе данных. Поскольку QHB не поддерживает несколько наборов символов в пределах одной базы данных, в этом представлении отображается только один набор, являющийся кодировкой этой базы данных.

Обратите внимание на то, как следующие термины трактуются в стандарте SQL:

перечень символов
Абстрактная коллекция символов, например UNICODE, UCS или LATIN1. Не выступает в качестве объекта SQL, но видима в этом представлении.

форма кодировки символов
Кодировка некоторого перечня символов. Для большинства старых перечней используется только одна форма кодировки, и поэтому у них нет отдельных имен (например, LATIN1 — это форма кодировки, применимая к перечню LATIN1). Но, к примеру, Unicode имеет формы кодировки UTF8, UTF16 и т. д. (не все они поддерживаются в QHB). Формы кодировки не выступают в качестве объектов SQL, но видимы в этом представлении.

набор символов
Именованный объект SQL, определяющий перечень и кодировку символов, а также правило сортировки по умолчанию. Предопределенный набор символов обычно называется так же, как форма кодировки, но пользователи могут определить и другие имена. Например, набор символов UTF8 обычно определяет перечень символов UCS, форму кодировки UTF8 и некоторое правило сортировки по умолчанию.

Вы можете считать, что «кодировка» в QHB является либо набором, либо формой кодировки символов. У них будет одинаковое имя, и в одной базе данных может быть только одна кодировка.

Таблица 5. Столбцы character_sets

Столбец Тип
Описание
character_set_catalog sql_identifier
В настоящее время наборы символов не реализованы в виде объектов схемы, поэтому данный столбец содержит NULL
character_set_schema sql_identifier
В настоящее время наборы символов не реализованы в виде объектов схемы, поэтому данный столбец содержит NULL
character_set_name sql_identifier
Имя набора символов, в настоящее время реализуется путем отображения имени кодировки базы данных
character_repertoire sql_identifier
Перечень символов, отображает UCS для кодировки UTF8, в иных случаях просто имя кодировки
form_of_use sql_identifier
Форма кодировки символов; то же, что и кодировка базы данных
default_collate_catalog sql_identifier
Имя базы данных, содержащей правило сортировки по умолчанию (всегда текущая база данных, если определено какое либо правило сортировки)
default_collate_schema sql_identifier
Имя схемы, содержащей правило сортировки по умолчанию
default_collate_name sql_identifier
Имя правила сортировки по умолчанию. Правило сортировки по умолчанию определяется как правило сортировки, соответствующее параметрам COLLATE и CTYPE текущей базы данных. Если такого правила нет, этот столбец и связанные столбцы схемы и каталога содержат NULL.


check_constraint_routine_usage

В представлении check_constraint_routine_usage указаны подпрограммы (функции и процедуры), используемые проверочными ограничениями. Отображаются только те подпрограммы, которые принадлежат текущей разрешенной роли.

Таблица 6. Столбцы check_constraint_routine_usage

Столбец Тип
Описание
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.


check_constraints

В представлении check_constraints содержатся все проверочные ограничения, либо определенные для таблицы или домена, либо принадлежащие текущей разрешенной роли. (Владелец таблицы или домена является владельцем ограничения.)

Таблица 7. Столбцы check_constraints

Столбец Тип
Описание
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения
check_clause character_data
Выражение проверки для этого проверочного ограничения


collations

В представлении collations содержатся все правила сортировки, доступные в текущей базе данных.

Таблица 8. Столбцы collations

Столбец Тип
Описание
collation_catalog sql_identifier
Имя базы данных, содержащей правило сортировки (всегда текущая база данных)
collation_schema sql_identifier
Имя схемы, содержащей правило сортировки
collation_name sql_identifier
Имя правила сортировки по умолчанию
pad_attribute character_data
Всегда NO PAD (Альтернативный вариант PAD SPACE не поддерживается QHB)


collation_character_set_​applicability

В представлении collation_character_set_applicability указано, к каким наборам символов применимы доступные правила сортировки. В QHB в каждой базе данных может быть только один набор символов (см. объяснение в разделе character_sets), так что это представление дает не очень много полезной информации.

Таблица 9. Столбцы collation_character_set_applicability

Столбец Тип
Описание
collation_catalog sql_identifier
Имя базы данных, содержащей правило сортировки (всегда текущая база данных)
collation_schema sql_identifier
Имя схемы, содержащей правило сортировки
collation_name sql_identifier
Имя правила сортировки по умолчанию
character_set_catalog sql_identifier
В настоящее время наборы символов не реализованы в виде объектов схемы, поэтому данный столбец содержит NULL
character_set_schema sql_identifier
В настоящее время наборы символов не реализованы в виде объектов схемы, поэтому данный столбец содержит NULL
character_set_name sql_identifier
Имя набора символов


column_column_usage

В представлении column_column_usage указаны все генерируемые столбцы, которые зависят от другого базового столбца в той же таблице. Выводятся только таблицы, принадлежащие текущей разрешенной роли.

Таблица 10. Столбцы column_column_usage

Столбец Тип
Описание
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
column_name sql_identifier
Имя базового столбца, от которого зависит генерируемый столбец
dependent_column sql_identifier
Имя генерируемого столбца


column_domain_usage

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

Таблица 11. Столбцы column_domain_usage

Столбец Тип
Описание
domain_catalog sql_identifier
Имя базы данных, содержащей домен (всегда текущая база данных)
domain_schema sql_identifier
Имя схемы, содержащей домен
domain_name sql_identifier
Имя домена
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
column_name sql_identifier
Имя столбца


column_options

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

Таблица 12. Столбцы column_options

Столбец Тип
Описание
table_catalog sql_identifier
Имя базы данных, содержащей стороннюю таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей стороннюю таблицу
table_name sql_identifier
Имя сторонней таблицы
column_name sql_identifier
Имя столбца
option_name sql_identifier
Имя параметра
option_value character_data
Значение параметра


column_privileges

В представлении column_privileges указаны все права, предоставленные для столбцов текущей разрешенной роли или текущей разрешенной ролью. Включает по одной строке для каждой комбинации столбца, праводателя и правополучателя.

Если право было предоставлено для всей таблицы, оно будет отображаться как право для каждого столбца, но только для типов прав, у которых возможна детализация до уровня столбцов: SELECT, INSERT, UPDATE, REFERENCES.

Таблица 13. Столбцы column_privileges

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
table_catalog sql_identifier
Имя базы данных, содержащей таблицу с этим столбцом (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу с этим столбцом
table_name sql_identifier
Имя таблицы, содержащей этот столбец
column_name sql_identifier
Имя столбца
privilege_type character_data
Тип права: SELECT, INSERT, UPDATE или REFERENCES
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


column_udt_usage

В представлении column_udt_usage указаны все столбцы, которые используют типы данных, принадлежащие текущей разрешенной роли. Обратите внимание, что в QHB встроенные типы данных ведут себя так же, как пользовательские, поэтому они тоже выводятся здесь. Подробную информацию см. также в описании представления columns.

Таблица 14. Столбцы column_udt_usage

Столбец Тип
Описание
udt_catalog sql_identifier
Имя базы данных, в которой определен тип данных (если применимо, нижележащий тип домена) столбца (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, в которой определен тип данных столбца (если применимо, нижележащий тип домена)
udt_name sql_identifier
Имя типа данных столбца (если применимо, нижележащий тип домена)
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
column_name sql_identifier
Имя столбца


columns

В представлении columns содержится информация обо всех столбах таблиц (или столбцах представлений) в базе данных. Системные столбцы (ctid и т. п.) здесь не выводятся. Отображаются только те столбцы, к которым имеет доступ текущий пользователь (будучи их владельцем или обладая некоторыми правами).

Таблица 15. Столбцы columns

Столбец Тип
Описание
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
column_name sql_identifier
Имя столбца
ordinal_position cardinal_number
Порядковый номер столбца в таблице (нумерация начинается с 1)
column_default character_data
Выражение по умолчанию для столбца
is_nullable yes_or_no
YES, если столбец может содержать NULL, NO, если не может. Столбец не будет принимать NULL, если у него имеется ограничение NOT NULL, но возможны и другие варианты.
data_type character_data
Тип данных столбца, если это встроенный тип, или ARRAY, если это некоторый массив (в этом случае см. представление element_types), иначе USER-DEFINED (в этом случае тип описывается в udt_name и связанных столбцах). Если столбец основан на домене, то здесь отображается нижележащий тип домена (а сам домен описывается в domain_name и связанных столбцах).
character_maximum_length cardinal_number
Если в data_type указан тип символьной или битовой строки, здесь содержится объявленная максимальная длина; NULL для всех остальных типов данных или если максимальная длина не объявлена.
character_octet_length cardinal_number
Если в data_type указан символьный тип, здесь содержится максимально возможная длина данных в октетах (байтах); NULL для всех остальных типов данных. Максимальная длина в октетах зависит от объявленной максимальной длины в символах (см. выше) и от кодировки сервера.
numeric_precision cardinal_number
Если в data_type указан числовой тип, этот столбец содержит (объявленную или неявную) точность типа для этого столбца. Точность определяет количество значащих цифр. Она может выражаться в десятичных (по основанию 10) или двоичных (по основанию 2) единицах, согласно столбцу numeric_precision_radix. Для всех остальных типов данных этот столбец содержит NULL.
numeric_precision_radix cardinal_number
Если в data_type указан числовой тип, этот столбец определяет, по какому основанию выражаются значения в столбцах numeric_precision и numeric_scale. Значение может быть 2 или 10. Для всех остальных типов данных этот столбец содержит NULL.
numeric_scale cardinal_number
Если в data_type указан точный числовой тип, этот столбец содержит (объявленный или неявный) масштаб типа для этого столбца. Масштаб определяет количество значащих цифр справа от десятичной точки. Он может выражаться в десятичных (по основанию 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
Относится к функциональности, отсутствующей в QHB (точность в долях секунды типов интервалов для столбца см. в поле datetime_precision)
character_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_catalog sql_identifier
Имя базы данных, содержащей правило сортировки для столбца (всегда текущая база данных); NULL, если это правило сортировки по умолчанию или тип данных столбца несортируемый
collation_schema sql_identifier
Имя схемы, содержащей правило сортировки для столбца; NULL, если это правило сортировки по умолчанию или тип данных столбца несортируемый
collation_name sql_identifier
Имя правила сортировки для столбца; NULL, если это правило сортировки по умолчанию или тип данных столбца несортируемый
domain_catalog sql_identifier
Если столбец имеет тип домена, то имя базы данных, в которой определен домен (всегда текущая база данных); иначе NULL
domain_schema sql_identifier
Если столбец имеет тип домена, то имя схемы, в которой определен домен; иначе NULL
domain_name sql_identifier
Если столбец имеет тип домена, то имя домена; иначе NULL
udt_catalog sql_identifier
Имя базы данных, в которой определен тип данных (если применимо, нижележащий тип домена) столбца (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, в которой определен тип данных столбца (если применимо, нижележащий тип домена)
udt_name sql_identifier
Имя типа данных столбца (если применимо, нижележащий тип домена)
scope_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_name sql_identifier
Относится к функциональности, отсутствующей в QHB
maximum_cardinality cardinal_number
Всегда NULL, поскольку в QHB массивы всегда имеют неограниченную максимальную емкость
dtd_identifier sql_identifier
Идентификатор дескриптора типа данных столбца, уникальный среди дескрипторов типов данных, относящихся к таблице. В основном он полезен для соединения с другими экземплярами таких идентификаторов. (Конкретный формат идентификатора не определяется, и не гарантируется, что он останется неизменным в будущих версиях.)
is_self_referencing yes_or_no
Относится к функциональности, отсутствующей в QHB
is_identity yes_or_no
Если столбец является столбцом идентификации, то YES, иначе NO.
identity_generation character_data
Если столбец является столбцом идентификации, то значение ALWAYS или BY DEFAULT, отражающее определение столбца.
identity_start character_data
Если столбец является столбцом идентификации, то начальное значение внутренней последовательности, иначе NULL.
identity_increment character_data
Если столбец является столбцом идентификации, то шаг приращения внутренней последовательности, иначе NULL.
identity_maximum character_data
Если столбец является столбцом идентификации, то максимальное значение внутренней последовательности, иначе NULL.
identity_minimum character_data
Если столбец является столбцом идентификации, то минимальное значение внутренней последовательности, иначе NULL.
identity_cycle yes_or_no
Если столбец является столбцом идентификации, то YES, если внутренняя последовательность зацикливается, NO, если не зацикливается; иначе NULL.
is_generated character_data
Если столбец является генерируемым, то ALWAYS, иначе NEVER.
generation_expression character_data
Если столбец является генерируемым, то генерирующее выражение, иначе NULL.
is_updatable yes_or_no
YES, если столбец можно изменять, NO, если нельзя (Столбцы в базовых таблицах всегда изменяемые, столбцы в представлениях — необязательно)

Поскольку типы данных могут определяться в SQL множеством способов и QHB содержит дополнительные способы для этого, их представление в информационной схеме может быть довольно сложным. Столбец data_type предназначен для идентификации нижележащего встроенного типа столбца. В QHB это означает, что данный тип определен в схеме системного каталога pg_catalog. Этот столбец может быть полезен, если приложение способно особым образом обрабатывать общеизвестные встроенные типы (например, форматировать числовые типы по-другому или использовать данные в столбцах точности). Столбцы udt_name, udt_schema и udt_catalog всегда указывают на нижележащий тип данных столбца, даже если столбец основан на домене. (Поскольку QHB воспринимает встроенные типы так же, как пользовательские, встроенные типы тоже выводятся в этом представлении. Это расширение стандарта SQL.) Эти столбцы должны применяться, если приложение хочет обрабатывать данные по-разному в зависимости от типа, потому что в этом случае неважно, действительно ли столбец основан на домене. Если столбец основан на домене, характеристики этого домена хранятся в столбцах domain_name, domain_schema и domain_catalog. Если вы желаете попарно соединить столбцы с их связанными типами данных и обработать домены как отдельные типы, вы можете написать coalesce(domain_name, udt_name) и т. п.



constraint_column_usage

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

Таблица 16. Столбцы constraint_column_usage

Столбец Тип
Описание
table_catalog sql_identifier
Имя базы данных, содержащей таблицу со столбцом, используемым некоторым ограничением (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу со столбцом, используемым некоторым ограничением
table_name sql_identifier
Имя таблицы, в которой содержится столбец, используемый некоторым ограничением
column_name sql_identifier
Имя столбца, используемого некоторым ограничением
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения


constraint_table_usage

В представлении constraint_table_usage указаны все таблицы в текущей базе данных, которые используются некоторым ограничением и принадлежат текущей разрешенной роли. (Это отличается от представления table_constraints, в котором указаны все табличные ограничения вместе с таблицами, для которых они определены.) Для ограничения внешнего ключа в этом представлении указана таблица, на которую ссылается внешний ключ. Для ограничения уникальности или первичного ключа в этом представлении просто указана таблица, которой принадлежит ограничение. Проверочные ограничения и ограничения NOT NULL в это представление не входят.

Таблица 17. Столбцы constraint_table_usage

Столбец Тип
Описание
table_catalog sql_identifier
Имя базы данных, содержащей таблицу, которая используется некоторым ограничением (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу, которая используется некоторым ограничением
table_name sql_identifier
Имя таблицы, которая используется некоторым ограничением
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения


data_type_privileges

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

Таблица 18. Столбцы data_type_privileges

Столбец Тип
Описание
object_catalog sql_identifier
Имя базы данных, содержащей описываемый объект (всегда текущая база данных)
object_schema sql_identifier
Имя схемы, содержащей описываемый объект
object_name sql_identifier
Имя описываемого объекта
object_type character_data
Тип описываемого объекта: TABLE (дескриптор типа данных относится к столбцу этой таблицы), DOMAIN (дескриптор типа данных относится к этому домену), ROUTINE (дескриптор типа данных относится к типу данных параметра или результата этой функции).
dtd_identifier sql_identifier
Идентификатор дескриптора типа данных, являющийся уникальным среди дескрипторов типов для этого же объекта.


domain_constraints

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

Таблица 19. Столбцы domain_constraints

Столбец Тип
Описание
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения
domain_catalog sql_identifier
Имя базы данных, содержащей домен (всегда текущая база данных)
domain_schema sql_identifier
Имя схемы, содержащей домен
domain_name sql_identifier
Имя домена
is_deferrable yes_or_no
YES, если ограничение откладываемое, NO, если это не так
initially_deferred yes_or_no
YES, если ограничение откладываемое и отложенное изначально, NO, если это не так


domain_udt_usage

В представлении domain_udt_usage указаны все домены, в которых используются типы данных, принадлежащие текущей разрешенной роли. Обратите внимание, что в QHB встроенные типы данных ведут себя так же, как пользовательские, поэтому они тоже выводятся здесь.

Таблица 20. Столбцы domain_udt_usage

Столбец Тип
Описание
udt_catalog sql_identifier
Имя базы данных, в которой определен тип данных домена (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, в которой определен тип данных домена
udt_name sql_identifier
Имя типа данных домена
domain_catalog sql_identifier
Имя базы данных, содержащей домен (всегда текущая база данных)
domain_schema sql_identifier
Имя схемы, содержащей домен
domain_name sql_identifier
Имя домена


domains

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

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


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;

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

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

Столбец Тип
Описание
object_catalog sql_identifier
Имя базы данных, содержащей объект, в котором используется описываемый массив (всегда текущая база данных)
object_schema sql_identifier
Имя схемы, содержащей объект, в котором используется описываемый массив
object_name sql_identifier
Имя объекта, в котором используется описываемый массив
object_type character_data
Тип объекта, в котором используется описываемый массив: TABLE (массив используется столбцом этой таблицы), USER-DEFINED (массив используется атрибутом этого составного типа), DOMAIN (массив используется этим доменом), ROUTINE (массив используется параметром или типом данных результата этой функции).
collection_type_identifier sql_identifier
Идентификатор дескриптора типа данных описываемого массива. Его можно использовать для соединения со столбцами dtd_identifier других представлений информационной схемы.
data_type character_data
Тип данных элементов массива, если это встроенный тип, иначе USER-DEFINED (в этом случае тип описывается в udt_name и связанных столбцах).
character_maximum_length cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
character_octet_length cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
character_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_catalog sql_identifier
Имя базы данных, содержащей правило сортировки для типа элемента (всегда текущая база данных); NULL, если это правило сортировки по умолчанию или тип данных элемента несортируемый
collation_schema sql_identifier
Имя схемы, содержащей правило сортировки для типа элемента; NULL, если это правило сортировки по умолчанию или тип данных элемента несортируемый
collation_name sql_identifier
Имя правила сортировки для типа элемента; NULL, если это правило сортировки по умолчанию или тип данных элемента несортируемый
numeric_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
numeric_precision_radix cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
numeric_scale cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
datetime_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
interval_type character_data
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
interval_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных элементов массива в QHB
domain_default character_data
Пока не реализовано
udt_catalog sql_identifier
Имя базы данных, в которой определен тип данных элементов (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, в которой определен тип данных элементов
udt_name sql_identifier
Имя типа данных элементов
scope_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_name sql_identifier
Относится к функциональности, отсутствующей в QHB
maximum_cardinality cardinal_number
Всегда NULL, поскольку в QHB массивы всегда имеют неограниченную максимальную емкость
dtd_identifier sql_identifier
Идентификатор дескриптора типа данных элемента. В настоящее время бесполезен


enabled_roles

В представлении enabled_roles указаны текущие «разрешенные роли». Разрешенные роли рекурсивно определяются как текущий пользователь плюс все роли, выданные разрешенным ролям, с автоматическим наследованием. Другими словами, это все роли, в которых текущий пользователь прямо или косвенно (путем автоматического наследования) получил членство.

Для проверки разрешений применяется набор «применимых ролей», который может быть шире набора разрешенных ролей. Поэтому в целом вместо этого представления лучше использовать представление applicable_roles (в его описании можно найти подробную информацию).

Таблица 23. Столбцы enabled_roles

Столбец Тип
Описание
role_name sql_identifier
Имя роли


foreign_data_wrapper_options

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

Таблица 24. Столбцы foreign_data_wrapper_options

Столбец Тип
Описание
foreign_data_wrapper_catalog sql_identifier
Имя базы данных, в которой определена обертка сторонних данных (всегда текущая база данных)
foreign_data_wrapper_name sql_identifier
Имя обертки сторонних данных
option_name sql_identifier
Имя параметра
option_value character_data
Значение параметра


foreign_data_wrappers

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

Таблица 25. Столбцы foreign_data_wrappers

Столбец Тип
Описание
foreign_data_wrapper_catalog sql_identifier
Имя базы данных, содержащей обертку сторонних данных (всегда текущая база данных)
foreign_data_wrapper_name sql_identifier
Имя обертки сторонних данных
authorization_identifier sql_identifier
Имя владельца стороннего сервера
library_name character_data
Имя файла библиотеки, реализующей эту обертку сторонних данных
foreign_data_wrapper_language character_data
Язык, применяемый для реализации этой обертки сторонних данных


foreign_server_options

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

Таблица 26. Столбцы foreign_server_options

Столбец Тип
Описание
foreign_server_catalog sql_identifier
Имя базы данных, в которой определен сторонний сервер (всегда текущая база данных)
foreign_server_name sql_identifier
Имя стороннего сервера
option_name sql_identifier
Имя параметра
option_value character_data
Значение параметра


foreign_servers

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

Таблица 27. Столбцы foreign_servers

Столбец Тип
Описание
foreign_server_catalog sql_identifier
Имя базы данных, в которой определен сторонний сервер (всегда текущая база данных)
foreign_server_name sql_identifier
Имя стороннего сервера
foreign_data_wrapper_catalog sql_identifier
Имя базы данных, содержащей обертку сторонних данных, используемую сторонним сервером (всегда текущая база данных)
foreign_data_wrapper_name sql_identifier
Имя обертки сторонних данных, используемой сторонним сервером
foreign_server_type character_data
Информация о типе стороннего сервера, если она была указана при создании
foreign_server_version character_data
Информация о версии стороннего сервера, если она была указана при создании
authorization_identifier sql_identifier
Имя владельца стороннего сервера


foreign_table_options

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

Таблица 28. Столбцы foreign_table_options

Столбец Тип
Описание
foreign_table_catalog sql_identifier
Имя базы данных, содержащей стороннюю таблицу (всегда текущая база данных)
foreign_table_schema sql_identifier
Имя схемы, содержащей стороннюю таблицу
foreign_table_name sql_identifier
Имя сторонней таблицы
option_name sql_identifier
Имя параметра
option_value character_data
Значение параметра


foreign_tables

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

Таблица 29. Столбцы foreign_tables

Столбец Тип
Описание
foreign_table_catalog sql_identifier
Имя базы данных, в которой определена сторонняя таблица (всегда текущая база данных)
foreign_table_schema sql_identifier
Имя схемы, содержащей стороннюю таблицу
foreign_table_name sql_identifier
Имя сторонней таблицы
foreign_server_catalog sql_identifier
Имя базы данных, в которой определен сторонний сервер (всегда текущая база данных)
foreign_server_name sql_identifier
Имя стороннего сервера


key_column_usage

В представлении key_column_usage указаны все столбцы в текущей базе данных, имеющие какое-либо ограничение уникальности, первичного или внешнего ключа. Проверочные ограничения в этом представлении не выводятся. Отображаются только те столбцы, к которым имеет доступ текущий пользователь (будучи их владельцем или обладая некоторыми правами).

Таблица 30. Столбцы key_column_usage

Столбец Тип
Описание
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения
table_catalog sql_identifier
Имя базы данных, содержащей таблицу со столбцом, на который наложено это ограничение (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу со столбцом, на который наложено это ограничение
table_name sql_identifier
Имя таблицы, содержащей столбец, на который наложено это ограничение
column_name sql_identifier
Имя столбца, на который наложено это ограничение
ordinal_position cardinal_number
Порядковый номер столбца в ключе ограничения (нумерация начинается с 1)
position_in_unique_constraint cardinal_number
Для ограничения внешнего ключа это порядковый номер ссылочного столбца в его ограничении уникальности (нумерация начинается с 1); иначе NULL


parameters

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

Таблица 31. Столбцы parameters

Столбец Тип
Описание
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.
ordinal_position cardinal_number
Порядковый номер параметра в списке аргументов функции (нумерация начинается с 1)
parameter_mode character_data
IN для входного параметра, OUT для выходного параметра и INOUT для входного/выходного параметра.
is_result yes_or_no
Относится к функциональности, отсутствующей в QHB
as_locator yes_or_no
Относится к функциональности, отсутствующей в QHB
parameter_name sql_identifier
Имя параметра или NULL, если параметр безымянный
data_type character_data
Тип данных параметра, если это встроенный тип, или ARRAY, если это некоторый массив (в этом случае см. представление element_types), иначе USER-DEFINED (в этом случае тип описывается в udt_name и связанных столбцах).
character_maximum_length cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
character_octet_length cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
character_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_catalog sql_identifier
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
collation_schema sql_identifier
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
collation_name sql_identifier
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
numeric_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
numeric_precision_radix cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
numeric_scale cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
datetime_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
interval_type character_data
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
interval_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных параметров в QHB
udt_catalog sql_identifier
Имя базы данных, в которой определен тип данных параметра (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, в которой определен тип данных параметра
udt_name sql_identifier
Имя типа данных параметра
scope_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_name sql_identifier
Относится к функциональности, отсутствующей в QHB
maximum_cardinality cardinal_number
Всегда NULL, поскольку в QHB массивы всегда имеют неограниченную максимальную емкость
dtd_identifier sql_identifier
Идентификатор дескриптора типа данных параметра, уникальный среди дескрипторов типов данных, относящихся к таблице. В основном он полезен для соединения с другими экземплярами таких идентификаторов. (Конкретный формат идентификатора не определяется, и не гарантируется, что он останется неизменным в будущих версиях.)
parameter_default character_data
Выражение по умолчанию для параметра или NULL, если таковое отсутствует или функция не принадлежит текущей разрешенной роли.


referential_constraints

В представлении referential_constraints содержатся все ссылочные (внешнего ключа) ограничения в текущей базе данных. Отображаются только те ограничения, для которых текущий пользователь имеет доступ на запись в ссылающиеся таблицы (будучи их владельцем или обладая некоторыми правами помимо SELECT).

Таблица 32. Столбцы referential_constraints

Столбец Тип
Описание
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения
unique_constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение уникальности или первичного ключа, на которое ссылается ограничение внешнего ключа (всегда текущая база данных)
unique_constraint_schema sql_identifier
Имя схемы, содержащей ограничение уникальности или первичного ключа, на которое ссылается ограничение внешнего ключа
unique_constraint_name sql_identifier
Имя ограничения уникальности или первичного ключа, на которое ссылается ограничение внешнего ключа
match_option character_data
Вариант совпадения для ограничения внешнего ключа: FULL, PARTIAL или NONE.
update_rule character_data
Правило изменения для ограничения внешнего ключа: CASCADE, SET NULL, SET DEFAULT, RESTRICT или NO ACTION.
delete_rule character_data
Правило удаления для ограничения внешнего ключа: CASCADE, SET NULL, SET DEFAULT, RESTRICT или NO ACTION.


role_column_grants

В представлении role_column_grants указаны все права, предоставленные для столбцов, где праводателем или правополучателем является текущая разрешенная роль. Дополнительную информацию можно найти в описании column_privileges. Единственное существенное отличие этого представления от column_privileges заключается в том, что в этом представлении опускаются столбцы, к которым текущий пользователь получил доступ через роль PUBLIC.

Таблица 33. Столбцы role_column_grants

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
table_catalog sql_identifier
Имя базы данных, содержащей таблицу с этим столбцом (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу с этим столбцом
table_name sql_identifier
Имя таблицы, содержащей этот столбец
column_name sql_identifier
Имя столбца
privilege_type character_data
Тип права: SELECT, INSERT, UPDATE или REFERENCES
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


role_routine_grants

В представлении role_routine_grants указаны все права, предоставленные для функций, где праводателем или правополучателем является текущая разрешенная роль. Дополнительную информацию можно найти в описании routine_privileges. Единственное существенное отличие этого представления от routine_privileges заключается в том, что в этом представлении опускаются функции, к которым текущий пользователь получил доступ через роль PUBLIC.

Таблица 34. Столбцы role_routine_grants

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.
routine_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
routine_schema sql_identifier
Имя схемы, содержащей функцию
routine_name sql_identifier
Имя функции (может дублироваться в случае перегрузки)
privilege_type character_data
Всегда EXECUTE (единственный тип прав для функций)
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


role_table_grants

В представлении role_table_grants указаны все права, предоставленные для таблиц или представлений, где праводателем или правополучателем является текущая разрешенная роль. Дополнительную информацию можно найти в описании table_privileges. Единственное существенное отличие этого представления от table_privileges заключается в том, что в этом представлении опускаются таблицы, к которым текущий пользователь получил доступ через роль PUBLIC.

Таблица 35. Столбцы role_table_grants

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
privilege_type character_data
Тип права: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES или TRIGGER
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может
with_hierarchy yes_or_no
В стандарте SQL WITH HIERARCHY OPTION является отдельным (подчиненным) правом, позволяющим выполнять определенные операции в иерархиях наследования таблиц. В QHB эта возможность входит в право SELECT, так что в этом столбце отображается YES для права SELECT и NO для остальных прав.


role_udt_grants

Представление role_udt_grants предназначено для указания прав USAGE, предоставленных для пользовательских типов, где праводателем или правополучателем является текущая разрешенная роль. Дополнительную информацию можно найти в описании udt_privileges. Единственное существенное отличие этого представления от udt_privileges заключается в том, что в этом представлении опускаются объекты, к которым текущий пользователь получил доступ через роль PUBLIC. Поскольку в QHB для типов данных нет фактических прав, кроме неявно предоставляемых роли PUBLIC, это представление пустое.

Таблица 36. Столбцы role_udt_grants

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
udt_catalog sql_identifier
Имя базы данных, содержащей тип (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, содержащей тип
udt_name sql_identifier
Имя типа
privilege_type character_data
Всегда TYPE USAGE
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


role_usage_grants

В представлении role_usage_grants указаны права USAGE, предоставленные для разных видов объектов, где праводателем или правополучателем является текущая разрешенная роль. Дополнительную информацию можно найти в описании usage_privileges. Единственное существенное отличие этого представления от usage_privileges заключается в том, что в этом представлении опускаются объекты, к которым текущий пользователь получил доступ через роль PUBLIC.

Таблица 37. Столбцы role_usage_grants

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
object_catalog sql_identifier
Имя базы данных, содержащей объект (всегда текущая база данных)
object_schema sql_identifier
Имя схемы, содержащей объект
object_name sql_identifier
Имя объекта
object_type character_data
COLLATION, DOMAIN, FOREIGN DATA WRAPPER, FOREIGN SERVER или SEQUENCE
privilege_type character_data
Всегда USAGE
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


routine_column_usage

Представление routine_column_usage предназначено для указания всех столбцов, используемых в функции или процедуре. В настоящее время эта информация в QHB не отслеживается.

Таблица 38. Столбцы routine_column_usage

Столбец Тип
Описание
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.
routine_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
routine_schema sql_identifier
Имя схемы, содержащей функцию
routine_name sql_identifier
Имя функции (может дублироваться в случае перегрузки)
table_catalog sql_identifier
Имя базы данных, содержащей таблицу, используемую функцией (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу, используемую функцией
table_name sql_identifier
Имя таблицы, используемой функцией
column_name sql_identifier
Имя столбца, используемого функцией


routine_privileges

В представлении routine_privileges указаны все права, предоставленные для функций текущей разрешенной роли или текущей разрешенной ролью. Включает по одной строке для каждой комбинации функции, праводателя и правополучателя.

Таблица 39. Столбцы routine_privileges

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.
routine_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
routine_schema sql_identifier
Имя схемы, содержащей функцию
routine_name sql_identifier
Имя функции (может дублироваться в случае перегрузки)
privilege_type character_data
Всегда EXECUTE (единственный тип прав для функций)
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


routine_routine_usage

Представление routine_routine_usage предназначено для указания всех функций или процедур, используемых другой (или той же самой) функцией или процедурой либо в теле, либо в выражениях параметров по умолчанию. В настоящее время отслеживаются только функции, используемые в выражениях параметров по умолчанию. Запись включается в это представление, только если использованная функция принадлежит текущей разрешенной роли. (Для использующих функций такого ограничения нет.)

Обратите внимание, что в этом представлении в записях для обеих функций говорится о «собственном» имени подпрограммы, несмотря на то, что имена столбцов используются не так, как в других представлениях информационной схемы, относящихся к подпрограммам. Это соответствует стандарту SQL, хотя можно счесть это конструктивным недостатком. Дополнительную информацию о собственных именах см. в описании routines.

Таблица 40. Столбцы routine_routine_usage

Столбец Тип
Описание
specific_catalog sql_identifier
Имя базы данных, содержащей использующую функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей использующую функцию
specific_name sql_identifier
«Собственное имя» использующей функции
routine_catalog sql_identifier
Имя базы данных, содержащей функцию, используемую первой функцией (всегда текущая база данных)
routine_schema sql_identifier
Имя схемы, содержащей функцию, используемую первой функцией
routine_name sql_identifier
«Собственное имя» функции, используемой первой функцией


routine_sequence_usage

Представление routine_sequence_usage предназначено для указания всех последовательностей, используемых функцией или процедурой либо в теле, либо в выражениях параметров по умолчанию. В настоящее время отслеживаются только последовательности, используемые в выражениях параметров по умолчанию. Последовательность включается в это представление, только если она принадлежит текущей разрешенной роли.

Таблица 41. Столбцы routine_sequence_usage

Столбец Тип
Описание
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.
routine_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
routine_schema sql_identifier
Имя схемы, содержащей функцию
routine_name sql_identifier
Имя функции (может дублироваться в случае перегрузки)
sequence_catalog sql_identifier
Имя базы данных, содержащей последовательность, используемую функцией (всегда текущая база данных)
sequence_schema sql_identifier
Имя схемы, содержащей последовательность, используемую функцией
sequence_name sql_identifier
Имя последовательности, используемой функцией


routine_table_usage

Представление routine_table_usage предназначено для указания всех таблиц, используемых функцией или процедурой. В настоящее время эта информация в QHB не отслеживается.

Таблица 42. Столбцы routine_table_usage

Столбец Тип
Описание
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.
routine_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
routine_schema sql_identifier
Имя схемы, содержащей функцию
routine_name sql_identifier
Имя функции (может дублироваться в случае перегрузки)
table_catalog sql_identifier
Имя базы данных, содержащей таблицу, используемую функцией (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу, используемую функцией
table_name sql_identifier
Имя таблицы, используемой функцией


routines

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

Таблица 43. Столбцы routines

Столбец Тип
Описание
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Это имя однозначно идентифицирует функцию в схеме, даже если реальное имя функции перегружено. Формат собственного имени не определен, поэтому его следует использовать только для сравнения с другими экземплярами собственных имен подпрограмм.
routine_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
routine_schema sql_identifier
Имя схемы, содержащей функцию
routine_name sql_identifier
Имя функции (может дублироваться в случае перегрузки)
routine_type character_data
FUNCTION для функции, PROCEDURE для процедуры
module_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
module_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
module_name sql_identifier
Относится к функциональности, отсутствующей в QHB
udt_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
udt_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
udt_name sql_identifier
Относится к функциональности, отсутствующей в QHB
data_type character_data
Тип данных результата функции, если это встроенный тип, или ARRAY, если это некоторый массив (в этом случае см. представление element_types), иначе USER-DEFINED (в этом случае тип описывается в udt_name и связанных столбцах). NULL для процедуры.
character_maximum_length cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
character_octet_length cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
character_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_catalog sql_identifier
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
collation_schema sql_identifier
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
collation_name sql_identifier
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
numeric_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
numeric_precision_radix cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
numeric_scale cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
datetime_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
interval_type character_data
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
interval_precision cardinal_number
Всегда NULL, поскольку эта информация неприменима к типам данных результатов в QHB
type_udt_catalog sql_identifier
Имя базы данных, в которой определен тип данных результата функции (всегда текущая база данных). NULL для процедуры.
type_udt_schema sql_identifier
Имя схемы, в которой определен тип данных результата функции. NULL для процедуры.
type_udt_name sql_identifier
Имя типа данных результата функции. NULL для процедуры.
scope_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
scope_name sql_identifier
Относится к функциональности, отсутствующей в QHB
maximum_cardinality cardinal_number
Всегда NULL, поскольку в QHB массивы всегда имеют неограниченную максимальную емкость
dtd_identifier sql_identifier
Идентификатор дескриптора типа данных результата этой функции, уникальный среди дескрипторов типов данных, относящихся к функции. В основном он полезен для соединения с другими экземплярами таких идентификаторов. (Конкретный формат идентификатора не определяется, и не гарантируется, что он останется неизменным в будущих версиях.)
routine_body character_data
Если это функция SQL, то SQL, иначе EXTERNAL.
routine_definition character_data
Исходный текст функции (NULL, если функция не принадлежит текущей разрешенной роли). (Согласно стандарту SQL, этот столбец применим, только если в routine_body указано SQL, но в QHB он будет содержать любой исходный текст, заданный при создании функции.)
external_name character_data
Если это функция на C, то внешнее имя (объектный символ) функции; иначе NULL. (Это будет то же значение, которое выводится в routine_definition.)
external_language character_data
Язык, на котором написана функция
parameter_style character_data
Всегда GENERAL (В стандарте SQL определены и другие стили параметров, которые отсутствуют в QHB.)
is_deterministic yes_or_no
Если функция объявлена как постоянная (IMMUTABLE) (в стандарте SQL она называется детерминированной), то YES, иначе NO. (запросить другие категории изменчивости, доступные в QHB, через информационную схему нельзя.)
sql_data_access character_data
Всегда MODIFIES, что означает, что функция может модифицировать данные SQL. Для QHB эта информация бесполезна.
is_null_call yes_or_no
Если функция автоматически возвращает NULL, когда один из аргументов равен NULL, то YES, иначе NO. NULL для процедуры.
sql_path character_data
Относится к функциональности, отсутствующей в QHB
schema_level_routine yes_or_no
Всегда YES (Противоположное значение было бы у метода пользовательского типа, но в QHB эта функциональность отсутствует.)
max_dynamic_result_sets cardinal_number
Относится к функциональности, отсутствующей в QHB
is_user_defined_cast yes_or_no
Относится к функциональности, отсутствующей в QHB
is_implicitly_invocable yes_or_no
Относится к функциональности, отсутствующей в QHB
security_type character_data
Если функция выполняется с правами текущего пользователя, то INVOKER; если функция выполняется с правами пользователя, определившего ее, то DEFINER.
to_sql_specific_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
to_sql_specific_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
to_sql_specific_name sql_identifier
Относится к функциональности, отсутствующей в QHB
as_locator yes_or_no
Относится к функциональности, отсутствующей в QHB
created time_stamp
Относится к функциональности, отсутствующей в QHB
last_altered time_stamp
Относится к функциональности, отсутствующей в QHB
new_savepoint_level yes_or_no
Относится к функциональности, отсутствующей в QHB
is_udt_dependent yes_or_no
В настоящее время всегда NO. Вариант YES относится к функциональности, отсутствующей в QHB
result_cast_from_data_type character_data
Относится к функциональности, отсутствующей в QHB
result_cast_as_locator yes_or_no
Относится к функциональности, отсутствующей в QHB
result_cast_char_max_length cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_char_octet_length cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_char_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_char_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_char_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_collation_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_collation_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_collation_name sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_numeric_precision cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_numeric_precision_radix cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_numeric_scale cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_datetime_precision cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_interval_type character_data
Относится к функциональности, отсутствующей в QHB
result_cast_interval_precision cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_type_udt_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_type_udt_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_type_udt_name sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_scope_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_scope_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_scope_name sql_identifier
Относится к функциональности, отсутствующей в QHB
result_cast_maximum_cardinality cardinal_number
Относится к функциональности, отсутствующей в QHB
result_cast_dtd_identifier sql_identifier
Относится к функциональности, отсутствующей в QHB


schemata

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

Таблица 44. Столбцы schemata

Столбец Тип
Описание
catalog_name sql_identifier
Имя базы данных, содержащей схему (всегда текущая база данных)
schema_name sql_identifier
Имя схемы
schema_owner sql_identifier
Имя владельца схемы
default_character_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
default_character_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
default_character_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
sql_path character_data
Относится к функциональности, отсутствующей в QHB


sequences

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

Таблица 45. Столбцы sequences

Столбец Тип
Описание
sequence_catalog sql_identifier
Имя базы данных, содержащей последовательность (всегда текущая база данных)
sequence_schema sql_identifier
Имя схемы, содержащей последовательность
sequence_name sql_identifier
Имя последовательности
data_type character_data
Тип данных последовательности
numeric_precision cardinal_number
Этот столбец содержит (объявленную или неявную) точность типа данных последовательности. Точность определяет количество значащих цифр. Она может выражаться в десятичных (по основанию 10) или двоичных (по основанию 2) единицах, согласно столбцу numeric_precision_radix.
numeric_precision_radix cardinal_number
Этот столбец определяет, по какому основанию выражаются значения в столбцах numeric_precision и numeric_scale. Значение может быть 2 или 10.
numeric_scale cardinal_number
Этот столбец содержит (объявленный или неявный) масштаб типа данных последовательности (см. выше). Масштаб определяет количество значащих цифр справа от десятичной точки. Он может выражаться в десятичных (по основанию 10) или двоичных (по основанию 2) единицах, согласно столбцу numeric_precision_radix.
start_value character_data
Начальное значение последовательности
minimum_value character_data
Минимальное значение последовательности
maximum_value character_data
Максимальное значение последовательности
increment character_data
Шаг приращения последовательности
cycle_option yes_or_no
YES, если последовательность зацикливается, иначе NO

Обратите внимание, что, согласно стандарту SQL, начальное, минимальное, максимальное значения и шаг приращения возвращаются в виде символьных строк.



sql_features

В таблице sql_features содержится информация о формальных функциональных возможностях, определенных в стандарте SQL, которые поддерживаются QHB. Это та же информация, что представлена в главе Соответствие стандарту SQL. Там вы можете найти и некоторые дополнительные общие сведения.

Таблица 46. Столбцы sql_features

Столбец Тип
Описание
feature_id character_data
Строка идентификатора функциональности
feature_name character_data
Описательное имя функциональности
sub_feature_id character_data
Строка идентификатора подчиненной функциональности или строка нулевой длины, если это не подчиненная функциональность
sub_feature_name character_data
Описательное имя подчиненной функциональности или строка нулевой длины, если это не подчиненная функциональность
is_supported yes_or_no
YES, если функциональность полностью поддерживается текущей версией QHB, NO, если это не так
is_verified_by character_data
Всегда NULL, поскольку группа разработки QHB не проводит формального тестирования функционального соответствия
comments character_data
Необязательный комментарий о поддерживаемом статусе функциональности


sql_implementation_info

В таблице sql_implementation_info содержится информация о различных аспектах, которые в стандарте SQL оставлены на усмотрение реализации. Эта информация предназначена в основном для использования в контексте интерфейса ODBC; пользователям других интерфейсов она, скорее всего, не пригодится. По этой причине отдельные единицы информации реализации здесь не описываются; вы найдете их в описании интерфейса ODBC.

Таблица 47. Столбцы sql_implementation_info

Столбец Тип
Описание
implementation_info_id character_data
Строка идентификатора единицы информации реализации
implementation_info_name character_data
Описательное имя единицы информации реализации
integer_value cardinal_number
Значение единицы информации реализации или NULL, если это значение содержится в столбце character_value
character_value character_data
Значение единицы информации реализации или NULL, если это значение содержится в столбце integer_value
comments character_data
Необязательный комментарий, относящийся к единице информации реализации


sql_parts

В таблице sql_parts содержится информация о различных частях стандарта SQL, поддерживаемых QHB.

Таблица 48. Столбцы sql_parts

Столбец Тип
Описание
feature_id character_data
Строка идентификатора, содержащая номер части
feature_name character_data
Описательное имя части
is_supported yes_or_no
YES, если часть полностью поддерживается текущей версией QHB, NO, если это не так
is_verified_by character_data
Всегда NULL, поскольку группа разработки QHB не проводит формального тестирования функционального соответствия
comments character_data
Необязательный комментарий о поддерживаемом статусе части


sql_sizing

В таблице sql_sizing содержится информация о различных ограничениях размера и максимальных значениях в QHB. Эта информация предназначена в основном для использования в контексте интерфейса ODBC; пользователям других интерфейсов она, скорее всего, не пригодится. По этой причине отдельные элементы размеров здесь не описываются; вы найдете их в описании интерфейса ODBC.

Таблица 49. Столбцы sql_sizing

Столбец Тип
Описание
sizing_id cardinal_number
Идентификатор элемента размера
sizing_name character_data
Описательное имя элемента размера
supported_value cardinal_number
Значение элемента размера, или 0, если размер неограниченный или его нельзя определить, или NULL, если функциональности, для которых применим элемент размеров, не поддерживаются
comments character_data
Необязательный комментарий, относящийся к элементу размера


table_constraints

В представлении table_constraints содержатся все ограничения, принадлежащие таблицам, к которым имеет доступ текущий пользователь (будучи их владельцем или обладая некоторыми правами помимо SELECT).

Таблица 50. Столбцы table_constraints

Столбец Тип
Описание
constraint_catalog sql_identifier
Имя базы данных, содержащей ограничение (всегда текущая база данных)
constraint_schema sql_identifier
Имя схемы, содержащей ограничение
constraint_name sql_identifier
Имя ограничения
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
constraint_type character_data
Тип ограничения: CHECK, FOREIGN KEY, PRIMARY KEY или UNIQUE
is_deferrable yes_or_no
YES, если ограничение откладываемое, NO, если это не так
initially_deferred yes_or_no
YES, если ограничение откладываемое и отложенное изначально, NO, если это не так
enforced yes_or_no
Относится к функциональности, отсутствующей в QHB (в настоящее время всегда YES)
nulls_distinct yes_or_no
Если это ограничение уникальности, то YES, если ограничение воспринимает NULL как различные значение, или NO, если оно воспринимает NULL как одинаковые; для других типов ограничений — NULL.


table_privileges

В представлении table_privileges указаны все права, предоставленные для таблиц или представлений текущей разрешенной роли или текущей разрешенной ролью. Представление включает по одной строке для каждой комбинации таблицы, праводателя и правополучателя.

Таблица 51. Столбцы table_privileges

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
privilege_type character_data
Тип права: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES или TRIGGER
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может
with_hierarchy yes_or_no
В стандарте SQL WITH HIERARCHY OPTION является отдельным (подчиненным) правом, позволяющим выполнять определенные операции в иерархиях наследования таблиц. В QHB эта возможность входит в право SELECT, так что в этом столбце отображается YES для права SELECT и NO для остальных прав.


tables

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

Таблица 52. Столбцы tables

Столбец Тип
Описание
table_catalog sql_identifier
Имя базы данных, содержащей таблицу (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу
table_name sql_identifier
Имя таблицы
table_type character_data
Тип таблицы: BASE TABLE для постоянной базовой таблицы (обычный тип таблиц), VIEW для представления, FOREIGN для сторонней таблицы или LOCAL TEMPORARY для временной таблицы
self_referencing_column_name sql_identifier
Относится к функциональности, отсутствующей в QHB
reference_generation character_data
Относится к функциональности, отсутствующей в QHB
user_defined_type_catalog sql_identifier
Если таблица является типизированной, это имя базы данных, содержащей нижележащий тип данных (всегда текущая база данных), иначе NULL.
user_defined_type_schema sql_identifier
Если таблица является типизированной, это имя схемы, содержащей нижележащий тип данных, иначе NULL.
user_defined_type_name sql_identifier
Если таблица является типизированной, это имя нижележащего типа данных, иначе NULL.
is_insertable_into yes_or_no
YES, если в таблицу можно добавлять данные, и NO, если нельзя (В базовые таблицы всегда можно добавлять данные, но в представления — не обязательно.)
is_typed yes_or_no
YES, если таблица является типизированной, NO, если это не так
commit_action character_data
Пока не реализовано


transforms

В представлении transforms содержится информация о трансформациях, определенных в текущей базе данных. Если точнее, оно содержит строку для каждой функции, участвующей в трансформации (функции «из SQL» или «в SQL»).

Таблица 53. Столбцы transforms

Столбец Тип
Описание
udt_catalog sql_identifier
Имя базы данных, содержащей тип, для которого предназначена трансформация (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, содержащей тип, для которого предназначена трансформация
udt_name sql_identifier
Имя типа, для которого предназначена трансформация
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.
group_name sql_identifier
Стандарт SQL позволяет определять «группы» трансформаций и выбирать группу во время выполнения. QHB это не поддерживает. Вместо этого трансформации привязаны к языкам. В качестве компромисса это поле содержит язык, для которого предназначена трансформация.
transform_type character_data
FROM SQL или TO SQL


triggered_update_columns

Для триггеров в текущей базе данных, для которых задан список столбцов (например, UPDATE OF column1, column2), в представлении triggered_update_columns указаны эти столбцы. Триггеры, для которых не задан список столбцов, в это представление не включаются. Отображаются только те столбцы, к которым имеет доступ текущий пользователь (будучи их владельцем или обладая некоторыми правами помимо SELECT).

Таблица 54. Столбцы triggered_update_columns

Столбец Тип
Описание
trigger_catalog sql_identifier
Имя базы данных, содержащей триггер (всегда текущая база данных)
trigger_schema sql_identifier
Имя схемы, содержащей триггер
trigger_name sql_identifier
Имя триггера
event_object_catalog sql_identifier
Имя базы данных, содержащей таблицу, для которой определен триггер (всегда текущая база данных)
event_object_schema sql_identifier
Имя схемы, содержащей таблицу, для которой определен триггер
event_object_table sql_identifier
Имя таблицы, для которой определен триггер
event_object_column sql_identifier
Имя столбца, для которого определен триггер


triggers

В представлении triggers содержатся все триггеры, определенные в текущей базе данных для таблиц и представлений, к которым имеет доступ текущий пользователь (будучи их владельцем или обладая некоторыми правами помимо SELECT).

Таблица 55. Столбцы triggers

Столбец Тип
Описание
trigger_catalog sql_identifier
Имя базы данных, содержащей триггер (всегда текущая база данных)
trigger_schema sql_identifier
Имя схемы, содержащей триггер
trigger_name sql_identifier
Имя триггера
event_manipulation character_data
Событие, запускающее триггер (INSERT, UPDATE или DELETE)
event_object_catalog sql_identifier
Имя базы данных, содержащей таблицу, для которой определен триггер (всегда текущая база данных)
event_object_schema sql_identifier
Имя схемы, содержащей таблицу, для которой определен триггер
event_object_table sql_identifier
Имя таблицы, для которой определен триггер
action_order cardinal_number
Порядок срабатывания триггеров для одной таблицы, имеющих одинаковые значения event_manipulation, action_timing и action_orientation. В QHB триггеры срабатывают по порядку их имен, что отражается в этом столбце.
action_condition character_data
Условие WHEN триггера или NULL, если его нет (также NULL, если таблица не принадлежит текущей разрешенной роли)
action_statement character_data
Оператор, выполняемый триггером (в настоящее время всегда EXECUTE FUNCTION функция(...))
action_orientation character_data
Определяет, срабатывает ли триггер для каждой обрабатываемой строки или для каждого оператора (ROW или STATEMENT)
action_timing character_data
Время срабатывания триггера (BEFORE, AFTER или INSTEAD OF)
action_reference_old_table sql_identifier
Имя «старой» таблицы переходов или NULL, если таковой нет
action_reference_new_table sql_identifier
Имя «новой» таблицы переходов или NULL, если таковой нет
action_reference_old_row sql_identifier
Относится к функциональности, отсутствующей в QHB
action_reference_new_row sql_identifier
Относится к функциональности, отсутствующей в QHB
created time_stamp
Относится к функциональности, отсутствующей в QHB

Триггеры в QHB не совпадают со стандартом SQL в двух аспектах, влияющих на их представление в информационной схеме. Во-первых, имена триггеров являются локальными для каждой таблицы в QHB, а не независимыми объектами схемы. Поэтому в одной схеме могут быть определены повторяющиеся имена триггеров, если они принадлежат разным таблицам. (Значения trigger_catalog и trigger_schema в действительности относятся к таблице, для которой определен триггер.) Во-вторых, в QHB триггеры можно определить так, чтобы они срабатывали при нескольких событиях (например, ON INSERT OR UPDATE), тогда как стандарт SQL допускает только одно событие. Если триггер настроен на срабатывание при нескольких событиях, он представляется в информационной схеме в виде нескольких строк, по одной для каждого типа события. Вследствие этих двух особенностей первичный ключ в представлении triggers на самом деле (trigger_catalog, trigger_schema, event_object_table, trigger_name, event_manipulation), а не (trigger_catalog, trigger_schema, trigger_name), как указано в стандарте SQL. Тем не менее, если вы определяете триггеры в соответствии со стандартом SQL (имена триггеров уникальны в схеме и каждый триггер привязан только к одному событию), это расхождение ни на что не повлияет.



udt_privileges

В представлении udt_privileges указаны права USAGE, предоставленные для пользовательских типов текущей разрешенной роли или текущей разрешенной ролью. Представление включает по одной строке для каждой комбинации типа, праводателя и правополучателя. В этом представлении отображаются только составные типы (почему, рассказывается в описании user_defined_types); права для доменов см. в описании usage_privileges.

Таблица 56. Столбцы udt_privileges

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
udt_catalog sql_identifier
Имя базы данных, содержащей тип (всегда текущая база данных)
udt_schema sql_identifier
Имя схемы, содержащей тип
udt_name sql_identifier
Имя типа
privilege_type character_data
Всегда TYPE USAGE
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


usage_privileges

В представлении usage_privileges указаны права USAGE, предоставленные для различных типов объектов текущей разрешенной роли или текущей разрешенной ролью. В настоящее время в QHB это относится к правилам сортировки, доменам, оберткам сторонних данных, сторонним серверам и последовательностям. Представление включает по одной строке для каждой комбинации объекта, праводателя и правополучателя.

Поскольку в QHB для правил сортировки нет никаких фактических прав, в этом представлении отображаются косвенно непредоставляемые права USAGE, предоставленные роли PUBLIC для всех правил сортировки владельцем базы. Однако для других типов объектов отображаются фактические права.

В QHB последовательности в дополнение к праву USAGE поддерживают также права SELECT и UPDATE. Они являются нестандартными и поэтому не видны в информационной схеме.

Таблица 57. Столбцы usage_privileges

Столбец Тип
Описание
grantor sql_identifier
Имя роли, предоставившей право (праводатель)
grantee sql_identifier
Имя роли, которой было предоставлено право (правополучатель)
object_catalog sql_identifier
Имя базы данных, содержащей объект (всегда текущая база данных)
object_schema sql_identifier
Имя схемы, содержащей объект, если применимо, иначе пустая строка
object_name sql_identifier
Имя объекта
object_type character_data
COLLATION, DOMAIN, FOREIGN DATA WRAPPER, FOREIGN SERVER или SEQUENCE
privilege_type character_data
Всегда USAGE
is_grantable yes_or_no
YES, если право может передаваться, NO, если не может


user_defined_types

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

SQL знает два вида пользовательских типов: структурные типы (в QHB также называются составными типами) и отдельные типы (в QHB не реализованы). В качестве задела на будущее их можно различить, просмотрев столбец user_defined_type_category. Другие пользовательские типы, например базовые типы и перечисления, которые являются расширениями QHB, здесь не отображаются. Описания доменов можно найти в представлении domains.

Таблица 58. Столбцы user_defined_types

Столбец Тип
Описание
user_defined_type_catalog sql_identifier
Имя базы данных, содержащей тип (всегда текущая база данных)
user_defined_type_schema sql_identifier
Имя схемы, содержащей тип
user_defined_type_name sql_identifier
Имя типа
user_defined_type_category character_data
В настоящее время всегда STRUCTURED
is_instantiable yes_or_no
Относится к функциональности, отсутствующей в QHB
is_final yes_or_no
Относится к функциональности, отсутствующей в QHB
ordering_form character_data
Относится к функциональности, отсутствующей в QHB
ordering_category character_data
Относится к функциональности, отсутствующей в QHB
ordering_routine_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
ordering_routine_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
ordering_routine_name sql_identifier
Относится к функциональности, отсутствующей в QHB
reference_type character_data
Относится к функциональности, отсутствующей в QHB
data_type character_data
Относится к функциональности, отсутствующей в QHB
character_maximum_length cardinal_number
Относится к функциональности, отсутствующей в QHB
character_octet_length cardinal_number
Относится к функциональности, отсутствующей в QHB
character_set_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
character_set_name sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_catalog sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_schema sql_identifier
Относится к функциональности, отсутствующей в QHB
collation_name sql_identifier
Относится к функциональности, отсутствующей в QHB
numeric_precision cardinal_number
Относится к функциональности, отсутствующей в QHB
numeric_precision_radix cardinal_number
Относится к функциональности, отсутствующей в QHB
numeric_scale cardinal_number
Относится к функциональности, отсутствующей в QHB
datetime_precision cardinal_number
Относится к функциональности, отсутствующей в QHB
interval_type character_data
Относится к функциональности, отсутствующей в QHB
interval_precision cardinal_number
Относится к функциональности, отсутствующей в QHB
source_dtd_identifier sql_identifier
Относится к функциональности, отсутствующей в QHB
ref_dtd_identifier sql_identifier
Относится к функциональности, отсутствующей в QHB


user_mapping_options

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

Таблица 59. Столбцы user_mapping_options

Столбец Тип
Описание
authorization_identifier sql_identifier
Имя сопоставляемого пользователя или PUBLIC, если это сопоставление для всех пользователей
foreign_server_catalog sql_identifier
Имя базы данных, в которой определен сторонний сервер, используемый для этого сопоставления (всегда текущая база данных)
foreign_server_name sql_identifier
Имя стороннего сервера, используемого для этого сопоставления
option_name sql_identifier
Имя параметра
option_value character_data
Значение параметра. В этом столбце будет отображаться NULL, за исключение случаев, когда текущий пользователь является сопоставляемым, или если это сопоставление для PUBLIC, а текущий пользователь является владельцем сервера, или если текущий пользователь является суперпользователем. Целью этого является защита информации о пароле, сохраненной в параметрах сопоставления пользователя.


user_mappings

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

Таблица 60. Столбцы user_mappings

Столбец Тип
Описание
authorization_identifier sql_identifier
Имя сопоставляемого пользователя или PUBLIC, если это сопоставление для всех пользователей
foreign_server_catalog sql_identifier
Имя базы данных, в которой определен сторонний сервер, используемый для этого сопоставления (всегда текущая база данных)
foreign_server_name sql_identifier
Имя стороннего сервера, используемого для этого сопоставления


view_column_usage

В представлении view_column_usage указаны все столбцы, использующиеся в выражении запроса представления (операторе SELECT, который определяет представление). Столбец включается сюда, только если содержащая его таблица принадлежит текущей разрешенной роли.

Примечание
Столбцы системных таблиц в это представление не включаются. В будущем это будет исправлено.

Таблица 61. Столбцы view_column_usage

Столбец Тип
Описание
view_catalog sql_identifier
Имя базы данных, содержащей представление (всегда текущая база данных)
view_schema sql_identifier
Имя схемы, содержащей представление
view_name sql_identifier
Имя представления
table_catalog sql_identifier
Имя базы данных, содержащей таблицу со столбцом, который используется представлением (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу со столбцом, который используется представлением
table_name sql_identifier
Имя таблицы, содержащей столбец, который используется представлением
column_name sql_identifier
Имя столбца, используемого представлением


view_routine_usage

В представлении view_routine_usage указаны все подпрограммы (функции и процедуры), использующиеся в выражении запроса представления (операторе SELECT, который определяет представление). Подпрограмма включается сюда, только если она принадлежит текущей разрешенной роли.

Таблица 62. Столбцы view_routine_usage

Столбец Тип
Описание
view_catalog sql_identifier
Имя базы данных, содержащей представление (всегда текущая база данных)
view_schema sql_identifier
Имя схемы, содержащей представление
view_name sql_identifier
Имя представления
specific_catalog sql_identifier
Имя базы данных, содержащей функцию (всегда текущая база данных)
specific_schema sql_identifier
Имя схемы, содержащей функцию
specific_name sql_identifier
«Собственное имя» функции. Подробную информацию см. в описании представления routines.


view_table_usage

В представлении view_table_usage указаны все таблицы, использующиеся в выражении запроса представления (операторе SELECT, который определяет представление). Таблица включается сюда, только если она принадлежит текущей разрешенной роли.

Примечание
Системные таблицы в это представление не включаются. В будущем это будет исправлено.

Таблица 63. Столбцы view_table_usage

Столбец Тип
Описание
view_catalog sql_identifier
Имя базы данных, содержащей представление (всегда текущая база данных)
view_schema sql_identifier
Имя схемы, содержащей представление
view_name sql_identifier
Имя представления
table_catalog sql_identifier
Имя базы данных, содержащей таблицу, которая используется представлением (всегда текущая база данных)
table_schema sql_identifier
Имя схемы, содержащей таблицу, которая используется представлением
table_name sql_identifier
Имя таблицы, используемой представлением


views

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

Таблица 64. Столбцы views

Столбец Тип
Описание
view_catalog sql_identifier
Имя базы данных, содержащей представление (всегда текущая база данных)
view_schema sql_identifier
Имя схемы, содержащей представление
view_name sql_identifier
Имя представления
view_definition character_data
Выражение запроса, определяющее представление (NULL, если представление не принадлежит текущей разрешенной роли)
check_option character_data
CASCADED или LOCAL, если для представление определено свойство CHECK OPTION, и NONE, если не определено
is_updatable yes_or_no
YES, если представление допускает изменение (команды UPDATE и DELETE), и NO, если не допускает
is_insertable_into yes_or_no
YES, если представление допускает добавление данных (команду INSERT), и NO, если не допускает
is_trigger_updatable yes_or_no
YES, если для представления определен триггер INSTEAD OF UPDATE, и NO, если не определен
is_trigger_deletable yes_or_no
YES, если для представления определен триггер INSTEAD OF DELETE, и NO, если не определен
is_trigger_insertable_into yes_or_no
YES, если для представления определен триггер INSTEAD OF INSERT, и NO, если не определен