Interesting... I was just about to post a question regarding the differences between the functions mysql_query and mysql_unbuffered_query in regards to pg_query, but I guess this is the issue right here, and from what I can tell there is no php based way to work around it. Robert Treat On Wednesday 02 June 2004 16:41, A Palmblad wrote: > I watch Postgres while its doing the query - and the postmaster is not the > culprit for memory usage. It looks to me like PHP's postgres driver is > loading the entire result into memory when I do a query. That is, the > postgres process stays within the memory its config tells it to use, while > a PHP script will eat as much as it can to load the result set. Although I > would think best practices would dictate the use of a cursor or some limit > statements, I was also trying to get at whether or not a PHP extension > <i>should</i> be able to use as much RAM as it wants. > > -Adam > ----- Original Message ----- > From: "Robby Russell" <rrussell@xxxxxxxxxxxxxxxxx> > To: "A Palmblad" <adampalmblad@xxxxxxxx> > Cc: <pgsql-php@xxxxxxxxxxxxxx> > Sent: Wednesday, June 02, 2004 1:17 PM > Subject: Re: [PHP] PHP memory usage > > > A Palmblad typed this on 05/31/2004 02:22 PM: > > > We've been running into some issues with PHP and Postgres, and memory > > usage. > > > > On a dual athlon 64, w/ 4 gigs of RAM, PHP 4.3.6, and Postgres 7.4.2 > > I've > > > > seen our server start to crawl after some queries returning very large > > > result sets. Although large result sets aren't exactly what we want to > > be > > > > dealing with, I really want to avoid a situation where a user could > > disrupt > > > > our server with certain options to some searches. > > > > > > I did a quick commandline test, and it looks like PHP starts to eat > > memory > > > > during its call to pg_query. By eat memory, I mean use memory well in > > > excess of php.ini's memory_limit of 8 megs. (I stop it around 90% of > > > available memory usage) Is this acceptable behaviour, or should I > > report it > > > > to PHP as a bug? If not, are my only solutions to wrap my selects in > > > cursors and/or to use limit? > > > > > > -Adam Palmblad > > > > I am going to take a quick guess and suggest that test those queries in > > psql itself. You might be running into some issues with your queries. > > > > > > Test your queries with psql, EXPLAIN. > > \h EXPLAIN > > > > -Robby > > > > -- > > Robby Russell, | Sr. Administrator / Lead Programmer > > Command Prompt, Inc. | http://www.commandprompt.com > > rrussell@xxxxxxxxxxxxxxxxx | Telephone: (503) 667.4564 > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 7: don't forget to increase your free space map settings > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings -- Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL