2025年9月25日: PostgreSQL 18 发布!
支持版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

35.45. routines #

视图 routines 包含当前数据库中的所有函数和过程。只显示当前用户有权访问(通过所有者身份或拥有某些权限)的函数和过程。

表 35.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

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

函数的返回数据类型,如果它是内置类型,或者如果它是数组(在这种情况下,请参阅视图 element_types),则为 ARRAY,否则为 USER-DEFINED(在这种情况下,类型在 type_udt_name 和相关列中标识)。过程为 NULL。

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

定义函数返回数据类型的数据库名称(始终为当前数据库)。过程为 NULL。

type_udt_schema sql_identifier

定义函数返回数据类型的模式名称。过程为 NULL。

type_udt_name sql_identifier

函数的返回数据类型名称。过程为 NULL。

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_bodySQL 的情况,但在 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

如果函数被声明为不变(在 SQL 标准中称为确定性),则为 YES,否则为 NO。(您无法通过信息模式查询 PostgreSQL 中可用的其他易变性级别。)

sql_data_access character_data

始终为 MODIFIES,表示函数可能修改 SQL 数据。此信息对 PostgreSQL 无用。

is_null_call yes_or_no

如果函数在任何参数为 NULL 时自动返回 NULL,则为 YES,否则为 NO。过程为 NULL。

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 cardinal_number

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 cardinal_number

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 中不适用的功能


提交更正

如果您在文档中看到任何不正确、与您对特定功能的实际体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。