34.40. routines

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

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