PL/Perl isn't new, but they've expanded it in 8.0, and made it more obvious how to do selects and updates from within a Perl-coded stored procedure.
Between that and Peter Haworth's clarifications on cursors, I'm revisiting a lot of PG issues in my code. Should lead to interesting times :) ..Theo -----Original Message----- From: Fred Moyer [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 18, 2005 2:11 PM To: Chris Ochs Cc: Peter Haworth; modperl@perl.apache.org Subject: Re: DBI memory usage >> > It looks like $r->child_terminate does what I need. In the case of >> > Postgresql it eats the memory when you execute the query, regardless >> > of whether you actually fetch any results. >> >> That can be worked around, however. By using a cursor, you can specify >> exactly how much data you want at a time: > > DBD::Pg doesn't support cursors. From the DBD::PG manpage: This is true that DBD::Pg doesn't support cursors, but you can write a pl/pgsql function that returns a cursor reference and implement in this manner: $sth = $dbh->prepare("FETCH ALL FROM $your_ref_cursor"); while($sth->fetch){} pl/perl was just introduced also, but I haven't looked at it enough to know if you could use it to write the function.