2014-12-13 63 views
1

從我的理解,Postgres會自動緩存準備好的語句。如果我做的僞代碼如下:PostgreSQL準備的語句是由語句名緩存的嗎?

connect() 
prepare("statement1", SQL1, params1) 
exec_prepared("statement1") 
close() 

再後來我再次以下

connect() 
prepare("statement1", SQL2, params2) 
exec_prepared("statement1") 
close() 

將如何處理的Postgres從一個緩存點這兩個準備好的發言?

回答

3

prepare documentation

準備語句僅持續當前數據庫 會話的持續時間。當會話結束時,準備好的語句被遺忘, 因此必須在重新使用之前重新創建。

因此,聲明和它的計劃無法在關閉連接時存活,也不會被緩存。