2009-12-11 3 views

답변

0

PHP pgsql 확장 또는 pdo_pgsql 확장에는 버퍼링되지 않은 모드가 없습니다. Flourish에는 fDatabase에 대한 unbufferedQuery() 메소드가 있지만 PostgreSQL 데이터베이스에 대해서는 확장의 일반 쿼리 기능을 사용합니다.

2

필자가 조사한 시간부터 PHP에서 pgsql 드라이버를 사용하는 버퍼없는 쿼리는 없습니다. 그러나 다음 코드는이 문제와 함께 당신을 도울 수 있습니다

$curSql = "DECLARE cursor1 CURSOR FOR SELECT * FROM big_table"; 
$con = new PDO("pgsql:host=whatever dbname=whatever", "user", "pass"); 
$con->beginTransaction(); // cursors require a transaction. 
$stmt = $con->prepare($curSql); 
$stmt->execute(); 

$innerStatement = $con->prepare("FETCH 1 FROM cursor1"); 

while($innerStatement->execute() && $row = $innerStatement->fetch(PDO::FETCH_ASSOC)) { 
    echo $row['field']; 
} 

출처 : http://codepoets.co.uk/2014/postgresql-unbuffered-queries/#more-936