当前位置: 首页 > Database, postgresql > 正文

postgresql 函数调用

postgresql使用Function Call通信协议调用函数和存储过程

Function Call 子协议允许客户端请求一个对存在于数据库 pg_proc 系统表中的任意函数的直接调用。客户端必须在该函数上有执行的权限。

    注意: Function Call 子协议是一个遗留的特性,在新代码里可能最好避免用它。 
    类似的结果可以通过设置一个 SELECT function($1, ...) 的准备语句获得。 
    这样 Function Call 循环就可以用 Bind/Execute 代替。 

一个函数调用循环是由前端向后端发送一条 FunctionCall 消息初始化的。 然后后端根据函数调用的结果发送一条或者更多响应消息, 并且在最后是一条 ReadyForQuery 响应消息。 ReadyForQuery 通知前端它可以安全地发送一条新的查询或者函数调用了。

从后端来的可能的响应信息是:

ErrorResponse

    发生了一个错误。

FunctionCallResponse

    函数调用完成并且在消息中返回一个结果。 (请注意 Function Call 协议只能
    处理单个标量结果,不能处理 rowtype 或者结果集。)

ReadyForQuery

    函数调用处理完成。ReadyForQuery 将总是被发送,不管是成功完成处理
    还是发生一个错误。

NoticeResponse

    发出了一条有关该函数调用的警告信息。 通知是附加在其他响应上的,也就是说,
    后端将继续处理命令。

That’s all!

    分享到:

本文固定链接: http://klwang.info/postgresql-function-call-message/ | 数据库|Linux|软件开发

该日志由 klwang 于2014年01月10日发表在 Database, postgresql 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: postgresql 函数调用 | 数据库|Linux|软件开发
关键字: ,

postgresql 函数调用:等您坐沙发呢!

发表评论

*
快捷键:Ctrl+Enter