分享更有价值
被信任是一种快乐

PostgreSQL创建函数中的选项是什么

文章页正文上

这篇文章主要介绍“PostgreSQL创建函数中的选项是什么”,在日常操作中,相信很多人在PostgreSQL创建函数中的选项是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL创建函数中的选项是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!Create Function的语法如下:LANGUAGE
包括sql,c,internal,plpgsql等等TRANSFORM
该选项列出调用函数时应使用的transform.
transform说明了如何转换数据类型到一种编程语言.比如使用hstore类型通过PL/Python语言来编写函数,
PL/Python无法在Python语言环境中标识hstore类型的数据.语言默认使用文本,但如果出现数组或者链表,
这种默认处理就不合适了.
transform指定了两种函数:
“from SQL”:从SQL环境到编程语言.该函数在使用该语言编写的函数时对参数进行处理.
“to SQL”:从编程语言到SQL环境.处理返回值时调用.
该选项用于PL/Java等编程语言中.WINDOW
使用该选项,标明该函数是窗口函数(window function)而不是普通函数.IMMUTABLE | STABLE | VOLATILE
这三个会影响查询优化器.默认选项是VOLATILE.
IMMUTABLE:表示函数不能更改数据库并且给定什么参数就返回什么值,100%的确定性.
STABLE:表示函数不能更改数据库,在一次表扫描过程中,对于同样的参数会返回相同的结果,但结果可以在SQL语句之间改变.
结果如果依赖于数据库查找,参数变量可变时可使用该选项.
VOLATILE:在一次表扫描时,结果也可以改变.如random(),currval()函数等.LEAKPROOF
该选项表示函数不存在副作用.免费主机域名除了返回值,不会reveals参数的相关信息,比如如果因为某些参数值抛出错误信息,
或者在错误信息中包含参数值,那么该函数被不是leafproof.
该选项会影响以security_barrier选项创建的view或者启用row level security的数据表.
系统将在用户提供的包含non-leakproof函数的条件之前执行来自安全策略的条件和来自查询本身的安全屏障视图,以防止数据的意外泄漏.
标记为leakproof的函数和操作符被认为是可信的,可以在安全策略和安全屏障视图的条件之前执行。CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
默认选项为CALLED ON NULL INPUT,表示如某些参数为null函数可以正常调用.函数的编写者有责任检查null值.
RETURNS NULL ON NULL INPUT | STRICT表示如果出现参数为null,则返回null.SECURITY INVOKER | SECURITY DEFINER
SECURITY INVOKER表示以调用者的权限执行函数,这是默认选项.SECURITY DEFINER则表示以owner的权限执行函数.PARALLEL UNSAFE | RE免费主机域名STRICTED | SAFE
PARALLEL UNSAFE表示不能以并行模式执行函数,如在SQL中出现该函数则需串行执行,这是默认选项.
PARALLEL RESTRICTED表示函数可以并行模式执行,但执行者限制为并行组的leader.
PARALLEL SAFE表示无约束的并行执行.
如函数修改了数据库状态或者使用子事务修改了事务状态或者尝试访问序列或者改变设置(如setval),那么函数应标记为unsafe.
如函数访问临时表,客户端连接状态,游标,预准备语句或者系统无法以并行模式同步的后端本地状态,那么应标记为restricted.
如函数实际上unsafe但标记为safe,那么会产生不可预知的错位.COST
函数执行的估算成本,单位为cpu_operator_cost.ROWS
函数返回的估算行数.SUPPORT
该函数使用的planner support function.SET
进入该函数时,设置配置参数为指定的值,执行完毕则恢复为原来的参数值.AS
函数定义.到此,关于“PostgreSQL创建函数中的选项是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云技术网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: 怎么修改linux中rac上IP地址

本篇内容主要讲解“怎么修改linux中rac上IP地址”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么修改linux中rac上IP地址”吧!修改前IP:#####PUBLIC IP #####192.168.11…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册