Обсуждение: pg_pconnect+PostgreSQL cursors

Поиск
Список
Период
Сортировка

pg_pconnect+PostgreSQL cursors

От
Sergei Levchenko
Дата:
Hi all

<?
$connection = pg_pconnect("dbname=$db user=$user password=$password");
if (!isset($page))
{
    pg_exec($connection, "BEGIN WORK");
    pg_exec($connection, "DECLARE all_data CURSOR FOR SELECT id,body FROM test")
}

$result = pg_exec($connection, "FETCH 1 FROM all_data");
$info = pg_fetch_array($result, 0);
print "|$info[0]|$info[1]|<br>\n";
?>

When I execute this script at first without page parameter I'v got data to info array! when I execute it at other times
I'vgot nothing :( 

I've got closing of cursor and transaction! why??? I use permanent connection, why I've got closing of cursor and
transaction!???

--
WBR, sector119

Re: pg_pconnect+PostgreSQL cursors

От
Keary Suska
Дата:
on 12/26/02 9:59 AM, serg@city.gov.te.ua purportedly said:

> I've got closing of cursor and transaction! why??? I use permanent connection,
> why I've got closing of cursor and transaction!???

The "p" in "pconnect" means *persistent*, not permanent. The connection will
persist after the script has completed, however, the connection is handled
by the web server process and its true lifetime is only the lifetime of the
process. For Apache, this will vary by configuration, and is difficult to
predict when hosting multiple sites.

Tip: persistent connections are only useful when you want (and have the
resources to support) to minimize connection overhead. Any other use and you
are likely to be severely disappointed.

Keary Suska
Esoteritech, Inc.
"Leveraging Open Source for a better Internet"