Re: server dropping connection
| От | Volkan YAZICI |
|---|---|
| Тема | Re: server dropping connection |
| Дата | |
| Msg-id | 20060503091937.GA205@alamut обсуждение исходный текст |
| Ответ на | server dropping connection (Reed Loefgren <rloef@interfold.com>) |
| Список | pgsql-php |
On May 02 06:13, Reed Loefgren wrote:
> I've been trying to run a nested query via a browser using a php script.
> The script looks at a table with a couple years worth of data (6M rows).
> If I constrain the search to five or six days of the data it works fine
> and displays the result set in the browser, but if I have it parse the
> entire table it errors out with this message:
>
> server closed the connection unexpectedly This probably means the server
> terminated abnormally before or while processing the request.
Just making rhetoric: You removed script execution time limits via
set_time_limit(), right?
I'll suggest turning error_reporting() to E_ALL and using asynchronous
query execution functions, instead of synchron ones. For instance:
$query_cmd = "SELECT ...";
$res = pg_send_query($conn, $query_cmd);
if (!$res)
{
/* Error handling stuff... */
}
while (pg_connection_busy($conn))
{
/*
* Sorry, no clue about connection socket in here.
* We're waiting without select() or poll().
* (I know, I know... PHP sucks.)
*/
usleep(100000); /* 0.1 seconds. */
}
/* Seems like result is ready now. */
$res = pg_get_result($conn);
if (!$res)
{
/* Error handling. */
}
IMHO, this method can output more verbose (and accurate?) query status
when compared to an odd pg_query() call.
Regards.
В списке pgsql-php по дате отправления: