cursors

Поиск
Список
Период
Сортировка
От John Henderson
Тема cursors
Дата
Msg-id 00ad01bf60a7$72e9e7c0$ea7c3eca@john.is.com.fj
обсуждение исходный текст
Список pgsql-general
Hi,
I am using postgres 6.4 on bsd/os3.0
The select that I want to use:
$select="select user_name,start,stop,nas_ip,port,
                        date_part('epoch',sess_time)
                        from $sessions_table s, userdir u
                        where user_name=username
                        and services in $in_phrase";
runs out of memory.
So I cleverly broke it down using cursors....
$result = $conn->exec("BEGIN");
$result = $conn->exec("declare cursor1 cursor for $select");
$result = $conn->exec("fetch 1000 from cursor1");

NOT SO CLEVER says the log
query: fetch 1000 from cursor1
ProcessUtility: fetch 1000 from cursor1
FATAL 1:  palloc failure: memory exhausted
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)

Questions:
So, correct me if I'm wrong but it looks like cursors do not actually save
any memory and I have to use SELECT ... LIMIT ... OFFSET for this and to do
that I have to upgrade from postgresql6.4

Or is there another way?

And, it seems to me that there is a problem with pg_dump from 6.4 and reload
the data into 6.5.3 because of some sort of structural changes. Where is the
documentation that will safely take me from 6.4 to 6.5.3?

Thanks,
John



В списке pgsql-general по дате отправления:

Предыдущее
От: "Jeff MacDonald "
Дата:
Сообщение: Re: [GENERAL] cgi with postgres
Следующее
От: Thomas Reinke
Дата:
Сообщение: Re: [GENERAL] cursors