postgreSQL函数调用包

时间:2016-09-13 12:04:23

标签: postgresql wireshark packet-sniffers function-call

当postgreSQL文档说明它的数据包here时,函数调用必须向服务器发送带有'F'标识符的数据包。

所以我定义了一个简单的函数并使用select语句调用它,并在使用wireshark监视我的连接端口之后,我看到没有'F'标识的数据包,只有多个简单的查询数据包({{ 1}}已确定)。

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:4)

这是一种误解。

SELECT语句中调用的函数是查询(标识符Q)或 Parse 中语句文本的一部分(标识符P)消息。

您所引用的文档部分描述了fast-path interface的消息。这是前端后端协议支持预准备语句之前的剩余时间,用于执行简单的函数调用,而不必解析SQL语句。现在它已经过时了,但仍然在large object API等几个地方使用。

如果您想使用Wireshark查看F数据包,则必须编写C代码并使用PQfn函数。