PHPドキュメントには、これについて次のように書かれていpg_free_result()
ます:
この関数は、スクリプト実行中のメモリ消費が問題になる場合にのみ呼び出す必要があります。そうしないと、スクリプトの終了時にすべての結果メモリが自動的に解放されます。
http://www.php.net/manual/en/function.pg-free-result.php
私は (おそらく素朴に) 呼び出しによって返されたリソースがpg_query()
、スコープ外になったときにガベージ コレクションされることを期待していました。
このような仮想関数では:
function selectSomething ()
{
$res = pg_query("SELECT blah FROM sometable");
// do something with $res
pg_free_result($res); // required or not?
}
最後に電話する必要はありpg_free_result()
ますか?
つまり、この関数を 1000 回呼び出した場合、1000 回の結果すべてを格納するためにメモリを消費するでしょうか?
編集:私は典型的なケースについて話していpg_connect()
ますpg_pconnect()
。