36.45. routines

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

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

Тип столбца

Описание

specific_catalogsql_identifier

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

specific_schemasql_identifier

Имя схемы, содержащей функцию

specific_namesql_identifier

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

routine_catalogsql_identifier

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

routine_schemasql_identifier

Имя схемы, содержащей функцию

routine_namesql_identifier

Имя функции (может дублироваться в случае перегрузки)

routine_typecharacter_data

FUNCTION для функций, PROCEDURE для процедур

module_catalogsql_identifier

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

module_schemasql_identifier

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

module_namesql_identifier

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

udt_catalogsql_identifier

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

udt_schemasql_identifier

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

udt_namesql_identifier

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

data_typecharacter_data

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

character_maximum_lengthcardinal_number

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

character_octet_lengthcardinal_number

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

character_set_catalogsql_identifier

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

character_set_schemasql_identifier

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

character_set_namesql_identifier

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

collation_catalogsql_identifier

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

collation_schemasql_identifier

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

collation_namesql_identifier

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

numeric_precisioncardinal_number

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

numeric_precision_radixcardinal_number

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

numeric_scalecardinal_number

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

datetime_precisioncardinal_number

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

interval_typecharacter_data

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

interval_precisioncardinal_number

Всегда NULL, так как эта информация неприменима к типам результатов в Postgres Pro

type_udt_catalogsql_identifier

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

type_udt_schemasql_identifier

Имя схемы, в которой определён тип данных результата функции. Для процедуры данное поле содержит NULL.

type_udt_namesql_identifier

Имя типа данных результата функции. Для процедуры данное поле содержит NULL.

scope_catalogsql_identifier

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

scope_schemasql_identifier

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

scope_namesql_identifier

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

maximum_cardinalitycardinal_number

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

dtd_identifiersql_identifier

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

routine_bodycharacter_data

Если функция написана на SQL, это поле содержит SQL, иначе EXTERNAL.

routine_definitioncharacter_data

Исходный текст функции (NULL, если функция не принадлежит текущей активной роли). (Согласно стандарту SQL, этот столбец актуален, только если в routine_body указано SQL, но в Postgres Pro он будет содержать любой исходный текст, заданный при создании функции.)

external_namecharacter_data

Если это функция на C, этот столбец содержит внешнее имя (объектный символ) функции, иначе — NULL. (Это будет то же значение, что содержит столбец routine_definition.)

external_languagecharacter_data

Язык, на котором написана функция

parameter_stylecharacter_data

Всегда GENERAL (В стандарте SQL определены и другие стили параметров, но в Postgres Pro они отсутствуют.)

is_deterministicyes_or_no

Если функция объявлена как постоянная (IMMUTABLE) (в стандарте SQL она называется детерминированной), этот столбец содержит YES, иначе — NO. (Получить другие уровни переменности функций, имеющиеся в Postgres Pro, через информационную схему нельзя.)

sql_data_accesscharacter_data

Всегда MODIFIES, что означает, что функция может модифицировать данные SQL. Для Postgres Pro эта информация бесполезна.

is_null_callyes_or_no

Если функция автоматически возвращает NULL, когда один из аргументов NULL, этот столбец содержит YES, иначе — NO. Для процедуры он содержит NULL.

sql_pathcharacter_data

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

schema_level_routineyes_or_no

Всегда YES (Другое значение было бы у методов пользовательских типов, но в Postgres Pro их нет.)

max_dynamic_result_setscardinal_number

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

is_user_defined_castyes_or_no

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

is_implicitly_invocableyes_or_no

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

security_typecharacter_data

Если функция выполняется с правами вызывающего пользователя, этот столбец содержит INVOKER, а если с правами пользователя, создавшего её, то — DEFINER.

to_sql_specific_catalogsql_identifier

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

to_sql_specific_schemasql_identifier

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

to_sql_specific_namesql_identifier

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

as_locatoryes_or_no

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

createdtime_stamp

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

last_alteredtime_stamp

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

new_savepoint_levelyes_or_no

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

is_udt_dependentyes_or_no

В настоящее время всегда NO. Альтернативное значение YES связано с возможностями, отсутствующими в Postgres Pro.

result_cast_from_data_typecharacter_data

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

result_cast_as_locatoryes_or_no

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

result_cast_char_max_lengthcardinal_number

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

result_cast_char_octet_lengthcardinal_number

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

result_cast_char_set_catalogsql_identifier

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

result_cast_char_set_schemasql_identifier

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

result_cast_char_set_namesql_identifier

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

result_cast_collation_catalogsql_identifier

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

result_cast_collation_schemasql_identifier

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

result_cast_collation_namesql_identifier

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

result_cast_numeric_precisioncardinal_number

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

result_cast_numeric_precision_radixcardinal_number

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

result_cast_numeric_scalecardinal_number

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

result_cast_datetime_precisioncardinal_number

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

result_cast_interval_typecharacter_data

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

result_cast_interval_precisioncardinal_number

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

result_cast_type_udt_catalogsql_identifier

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

result_cast_type_udt_schemasql_identifier

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

result_cast_type_udt_namesql_identifier

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

result_cast_scope_catalogsql_identifier

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

result_cast_scope_schemasql_identifier

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

result_cast_scope_namesql_identifier

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

result_cast_maximum_cardinalitycardinal_number

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

result_cast_dtd_identifiersql_identifier

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


close