35.40. routines

视图routines包含当前数据库中所有的函数。只有那些当前用户能够访问(作为拥有者或具有某些特权)的函数才会被显示。

表 35-38. routines

名称数据类型描述
specific_catalogsql_identifier包含该函数的数据库名(总是当前数据库)
specific_schemasql_identifier包含该函数的模式名
specific_namesql_identifier 该函数的"专用名"。这是一个在模式中唯一标识该函数的名称,即使该函数真正的名称已经被重载。专用名的格式尚未被定义,它应当仅被用来与指定例程名称的其他实例进行比较。
routine_catalogsql_identifier包含该函数的数据库名(总是当前数据库)
routine_schemasql_identifier包含该函数的模式名
routine_namesql_identifier该函数的名字(在重载的情况下可能重复)
routine_typecharacter_data 总是FUNCTION(未来可能会有其他例程的类型)
module_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
module_schemasql_identifier应用于一个PostgreSQL中不可用的特性
module_namesql_identifier应用于一个PostgreSQL中不可用的特性
udt_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
udt_schemasql_identifier应用于一个PostgreSQL中不可用的特性
udt_namesql_identifier应用于一个PostgreSQL中不可用的特性
data_typecharacter_data 该函数的返回数据类型如果是一种内建类型,这里是该数据类型;如果是某种数组(此种情况见视图element_types),则为ARRAY;否则为USER-DEFINED(此种情况中,该类型被标识在type_udt_name和相关列中)。
character_maximum_lengthcardinal_number总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
character_octet_lengthcardinal_number总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
character_set_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
character_set_schemasql_identifier应用于一个PostgreSQL中不可用的特性
character_set_namesql_identifier应用于一个PostgreSQL中不可用的特性
collation_catalogsql_identifier总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
collation_schemasql_identifier总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
collation_namesql_identifier总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
numeric_precisioncardinal_number总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
numeric_precision_radixcardinal_number总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
numeric_scalecardinal_number总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
datetime_precisioncardinal_number总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
interval_typecharacter_data总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
interval_precisioncardinal_number总是为空,因为这种信息不适用于PostgreSQL中的返回数据类型
type_udt_catalogsql_identifier 该函数的返回数据类型所在的数据库名(总是当前数据库)
type_udt_schemasql_identifier 该函数的返回数据类型所在的模式名
type_udt_namesql_identifier 该函数的返回数据类型的名字
scope_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
scope_schemasql_identifier应用于一个PostgreSQL中不可用的特性
scope_namesql_identifier应用于一个PostgreSQL中不可用的特性
maximum_cardinalitycardinal_number总是空,因为数组在PostgreSQL中总是有无限制的最大势
dtd_identifiersql_identifier 该函数返回数据类型的数据类型描述符的一个标识符,在从属于该函数的数据类型标识符之中唯一。这主要用于与这类标识符的其他实例进行连接(该标识符的指定格式没有被定义并且不保证在未来的版本中保持相同)。
routine_bodycharacter_data 如果该函数是一个 SQL 函数,则为SQL,否则为EXTERNAL
routine_definitioncharacter_data 该函数的源文本(如果该函数不属于一个当前已被启用的角色,则为空)。(根据 SQL 标准,只有routine_bodySQL时这一列才适用。但是在PostgreSQL中,它将会包含该函数被创建时所指定的任何源文本。)
external_namecharacter_data 如果这个函数是一个 C 函数,则为该函数的外部名称(链接符号),否则为空(这会产生和显示在routine_definition中相同的值)。
external_languagecharacter_data该函数所用的语言
parameter_stylecharacter_data 总是GENERAL(SQL 标准定义了其他参数风格,但在PostgreSQL中不可用)
is_deterministicyes_or_no 如果该函数被声明为不变(在 SQL 标准中被称为确定性的),则为YES,否则为NO(你不能通过该信息模式查询在PostgreSQL中可用的其他易变级别)。
sql_data_accesscharacter_data 总是MODIFIES,表示该函数可能修改 SQL 数据。这种信息对PostgreSQL没有用处。
is_null_callyes_or_no 如果该函数在任一参数为空时自动返回空值,则为YES,否则为NO
sql_pathcharacter_data应用于一个PostgreSQL中不可用的特性
schema_level_routineyes_or_no 总是YES(反例是一个用户定义类型的方法,这是在PostgreSQL不可用的一种特性)。
max_dynamic_result_setscardinal_number应用于一个PostgreSQL中不可用的特性
is_user_defined_castyes_or_no应用于一个PostgreSQL中不可用的特性
is_implicitly_invocableyes_or_no应用于一个PostgreSQL中不可用的特性
security_typecharacter_data 如果该函数以当前用户的特权运行,则为INVOKER;如果该函数以定义它的用户的特权运行,则为DEFINER
to_sql_specific_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
to_sql_specific_schemasql_identifier应用于一个PostgreSQL中不可用的特性
to_sql_specific_namesql_identifier应用于一个PostgreSQL中不可用的特性
as_locatoryes_or_no应用于一个PostgreSQL中不可用的特性
createdtime_stamp应用于一个PostgreSQL中不可用的特性
last_alteredtime_stamp应用于一个PostgreSQL中不可用的特性
new_savepoint_levelyes_or_no应用于一个PostgreSQL中不可用的特性
is_udt_dependentyes_or_no 当前总是NO。另一个选项YES应用于一个PostgreSQL中不可用的特性。
result_cast_from_data_typecharacter_data应用于一个PostgreSQL中不可用的特性
result_cast_as_locatoryes_or_no应用于一个PostgreSQL中不可用的特性
result_cast_char_max_lengthcardinal_number应用于一个PostgreSQL中不可用的特性
result_cast_char_octet_lengthcharacter_data应用于一个PostgreSQL中不可用的特性
result_cast_char_set_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_char_set_schemasql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_char_set_namesql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_collation_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_collation_schemasql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_collation_namesql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_numeric_precisioncardinal_number应用于一个PostgreSQL中不可用的特性
result_cast_numeric_precision_radixcardinal_number应用于一个PostgreSQL中不可用的特性
result_cast_numeric_scalecardinal_number应用于一个PostgreSQL中不可用的特性
result_cast_datetime_precisioncharacter_data应用于一个PostgreSQL中不可用的特性
result_cast_interval_typecharacter_data应用于一个PostgreSQL中不可用的特性
result_cast_interval_precisioncardinal_number应用于一个PostgreSQL中不可用的特性
result_cast_type_udt_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_type_udt_schemasql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_type_udt_namesql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_scope_catalogsql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_scope_schemasql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_scope_namesql_identifier应用于一个PostgreSQL中不可用的特性
result_cast_maximum_cardinalitycardinal_number应用于一个PostgreSQL中不可用的特性
result_cast_dtd_identifiersql_identifier应用于一个PostgreSQL中不可用的特性