我用'all'打开Postgres日志记录,日志显示LOG: execute S_1: BEGIN
。
S_1
是什么意思?
此日志条目的格式表示使用了扩展查询协议。
从链接的文档:
在扩展协议中,前端首先发送一个Parse消息,其中包含文本查询字符串,可选的一些信息参数占位符的数据类型目标准备语句对象(一个空字符串选择未命名的预处理语句)
日志中的S_1
对应该名称
如果应用程序使用libpq
C库或基于它的层,libpq函数如PQprepare
, PQexecPrepared
或PQexecParams
是建立在扩展协议上的。另一方面,旧的PQExec
只使用简单的查询协议。
BEGIN被包装成一个命名为"S_1"的prepare语句。这个名字可能是由你用来连接PostgreSQL的库自动生成的