check_function_bodies

控制创建时函数体字符串验证的配置参数

check_function_bodies 是一个 配置参数,用于控制执行 CREATE FUNCTION 时函数体字符串的验证。

check_function_bodiesPostgreSQL 7.4 中添加。

默认值

check_function_bodies 的默认值为:on

按 PostgreSQL 版本详细说明

check_function_bodies (PostgreSQL 18)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 和 CREATE PROCEDURE 期间检查例程主体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 17)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 和 CREATE PROCEDURE 期间检查例程主体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 16)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 和 CREATE PROCEDURE 期间检查例程主体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 15)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 和 CREATE PROCEDURE 期间检查例程主体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 14)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 和 CREATE PROCEDURE 期间检查例程主体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 13)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 12)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 11)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 10)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 9.6)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 9.5)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  
待重启 false

文档check_function_bodies

check_function_bodies (PostgreSQL 9.4)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  

文档check_function_bodies

check_function_bodies (PostgreSQL 9.3)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  

文档check_function_bodies

check_function_bodies (PostgreSQL 9.2)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  

文档check_function_bodies

check_function_bodies (PostgreSQL 9.1)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  

文档check_function_bodies

check_function_bodies (PostgreSQL 9.0)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  

文档check_function_bodies

check_function_bodies (PostgreSQL 8.4)

设置 on
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行  

文档check_function_bodies

check_function_bodies (PostgreSQL 8.3)

设置  
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  

文档check_function_bodies

check_function_bodies (PostgreSQL 8.2)

设置  
单位  
类别 客户端连接默认值/语句行为
简短描述 在 CREATE FUNCTION 期间检查函数体。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  

文档check_function_bodies

更改历史记录

示例

通常情况下,会验证正在创建的函数的主体。

postgres=# CREATE FUNCTION foo()
  RETURNS INT
  LANGUAGE SQL
AS 'SELECT * FROM bar()';
ERROR:  function bar() does not exist
LINE 4: AS 'SELECT * FROM bar()';
                          ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

但是,如果将 check_function_bodies 设置为 off,则可以创建函数。

postgres=# SHOW check_function_bodies;
 check_function_bodies 
-----------------------
 off
(1 row)

postgres=# \df
                       List of functions
 Schema | Name | Result data type | Argument data types | Type 
--------+------+------------------+---------------------+------
(0 rows)

postgres=# CREATE FUNCTION foo()
  RETURNS INT
  LANGUAGE SQL
AS 'SELECT * FROM bar()';
CREATE FUNCTION

在添加缺失的函数之前,该函数当然会失败并出现 ERROR

postgres=# SELECT * FROM foo();
ERROR:  function bar() does not exist
LINE 1: SELECT * FROM bar()
                      ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
QUERY:  SELECT * FROM bar()
CONTEXT:  SQL function "foo" during inlining

分类

函数和过程GUC 配置项

反馈

请在此提交关于 "check_function_bodies" 的任何评论、建议或更正 此处