I don't think so. Here's why.... As an experiment, I created another temp table with records identical to what will be returned in the set. Then I loaded that temp table with all the results to be returned. And finally, I returned * from that table. I inserted "raise notice" statements to monitor progress. The query runs just as fast inside pl-pgsql as it did in psql (very very fast). But returning * from that table takes a good 10 seconds. (There are only 145 records in the table). :-( -----Original Message----- From: Pavel Stehule [mailto:pavel.stehule@xxxxxxxxx] Sent: Friday, November 16, 2007 1:16 PM To: Gauthier, Dave Cc: pgsql-general@xxxxxxxxxxxxxx Subject: Re: pl-pgsql "return set of..." "return next..." performance question Hello > > I noticed that it takes a long time to return the set of records. But if I > run the same query at the psql cli, it runs blindingly fast. So it appears > that the process of returning the records via "return next" is the > performance culprit. > > Any ideas? Try use holdable cursors http://www.postgresql.org/docs/8.2/interactive/plpgsql-cursors.html#PLPG SQL-CURSOR-USING But problem can be in http://groups.google.com/group/pgsql.general/browse_thread/thread/38aa20 64fcce53ed/69b7362839c3ab4c Regards Pavel Stehule ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings