Информационная схема
Информационная схема состоит из набора представлений, содержащих информацию об объектах, определенных в текущей базе данных. Информационная схема определена в стандарте 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 and 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, но видима в этом представлении.
форма кодировки символов
Кодировка некоторого перечня символов encoding. Для большинства старых перечней
используется только одна форма кодировки, и поэтому у них нет отдельных имен
(например, 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 and 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 and 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;
В это представление включаются только те объекты, к которым имеет доступ текущий пользователь, будучи их владельцем или обладая некоторыми правами.
Столбец Тип |
||
---|---|---|
Описание |
||
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/RUST, то внешнее имя (объектный символ) функции; иначе 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 and 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) |
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 (имена триггеров уникальны в схеме и каждый триггер привязан только к одному событию), это расхождение ни на что не повлияет.
Примечание
Названия столбцов action_timing, action_reference_old_table, action_reference_new_table, action_reference_old_row и action_reference_new_row в этом представлении соответствуют стандарту SQL:2003 и более поздним.
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, если не определен |