允许的最大PHP-Postgres准备语句?

时间:2012-01-03 12:54:33

标签: php postgresql prepared-statement

使用PHP的pg_prepare()函数准备好的语句数量是否有限制?

1 个答案:

答案 0 :(得分:2)

没有数字最大数量的PREPARE ed语句,但后端可以分配的RAM量存在逻辑限制。只要PREPARE成功,PostgreSQL后端就会保存准备好的语句,直到连接断开,此时它将清除PREPARE ed语句(或者你可以DEALLOCATE {当你想释放内存时,{1}} ed语句。

所有PREPARE语句都存储在每个后端哈希表中。 PREPARED ed语句的内存分配由语句本身处理,并重新分配给预准备语句高速缓存。如果您对细节感到好奇,请参阅PREPAREsrc/backend/commands/prepare.c:SaveCachedPlan()。


此信息是2012-01-03 PostgreSQL 9.1+的最新信息,并且在PostgreSQL支持src/backend/utils/cache/plancache.c ed语句的持久缓存时可能会有所不同。