什么是准备好的声明?

时间:2008-09-10 18:32:19

标签: postgresql

我在postgres pg_log目录的.log文件中看到一堆行,如下所示:

  

错误:准备好的声明“pdo_pgsql_stmt_09e097f4”不存在

什么是预备语句,以及可以导致显示这些错误消息的内容是什么?

2 个答案:

答案 0 :(得分:4)

来自the documentation

  

准备好的声明是服务器端   可用于优化的对象   性能。当PREPARE   语句被执行,具体而言   语句被解析,重写和   计划。当EXECUTE命令是   随后发布,准备好了   声明只需要执行。从而,   解析,重写和计划   阶段只执行一次,   而不是每次声明   执行。

在网上搜索,我发现“pdo_pgsql_stmt”命令来自某种与数据库的PHP连接。也许this link可以帮助您找到可以发送错误消息的可设置的邮件列表或问题跟踪器?


编辑:我想我在这里发现了你的错误:

http://bugs.php.net/bug.php?id=37870

答案 1 :(得分:-2)

我认为这会对你有所帮助: http://jdbc.postgresql.org/documentation/81/server-prepare.html

基本上看起来像可以预编译的存储过程。