最大允许的PHP-Postgres预处理语句


Maximum allowed PHP-Postgres prepared statements?

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

没有PREPARE - ed语句的最大数量,但是后端可以分配的RAM数量有逻辑限制。只要PREPARE成功,PostgreSQL后端将保存准备好的语句,直到连接断开,此时它将清理PREPARE ed语句(或者当您想要释放内存时,您可以DEALLOCATE PREPARE ed语句)。

所有PREPARED语句都存储在每个后端哈希表中。 PREPAREed语句的内存分配由语句本身处理,并被重新分配到准备好的语句缓存中。如果您对细节感兴趣,请参阅src/backend/commands/prepare.csrc/backend/utils/cache/plancache.c:SaveCachedPlan()


这些信息是截止到2012-01-03的PostgreSQL 9.1+的最新信息,将来当PostgreSQL支持PREPARE ed语句的持久缓存时可能会有所不同。