了解PostgreSQL中的"LOG: execute S_1: BEGIN "



我用'all'打开Postgres日志记录,日志显示LOG: execute S_1: BEGIN

S_1是什么意思?

此日志条目的格式表示使用了扩展查询协议。

从链接的文档:

在扩展协议中,前端首先发送一个Parse消息,其中包含文本查询字符串,可选的一些信息参数占位符的数据类型目标准备语句对象(一个空字符串选择未命名的预处理语句)

日志中的S_1对应该名称

如果应用程序使用libpq C库或基于它的层,libpq函数如PQprepare, PQexecPreparedPQexecParams是建立在扩展协议上的。另一方面,旧的PQExec只使用简单的查询协议。

BEGIN被包装成一个命名为"S_1"的prepare语句。这个名字可能是由你用来连接PostgreSQL的库自动生成的

最新更新