Re: CURSOR OR OFFSET/LIMIT

From: John DeSoi <desoi(at)pgedit(dot)com>
To: Kaloyan Iliev <news1(at)faith(dot)digsys(dot)bg>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: CURSOR OR OFFSET/LIMIT
Date: 2006-04-06 17:11:33
Message-ID: E64B184B-0661-461D-A478-904FCBA00F24@pgedit.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance


On Apr 6, 2006, at 10:48 AM, Kaloyan Iliev wrote:

> If I use cursors it's better but my problem is that cursors live
> only in the current transaction.
> So when the Web Server finish I've lost the transaction and the
> cursor.

Cursors can live outside the transaction if you declare them WITH
HOLD specified. But that still may not help you in a web environment
if you want to break the results into pages served on separate
requests (and possibly different connections).

http://www.postgresql.org/docs/8.1/interactive/sql-declare.html

> Is there a way to save the cursor between separe Browser request
> (and to give it time to live)?

Sure, but you need to add a lot of connection management to do this.
You would need to keep track of the cursors and make sure a
subsequent request uses the right connection.

John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Jignesh K. Shah 2006-04-06 21:55:30 Re: Sun Fire T2000 and PostgreSQL 8.1.3
Previous Message Ragnar 2006-04-06 16:20:29 Re: Query planner is using wrong index.