The following statements do not utilize an index when executed inside a plpgsql procedure, but does when executed interactively in psql!
Does not use index: FOR somemorerows IN SELECT zipcode_list FROM pa_zipcode_proximity WHERE zipcode = zipcode_in AND proximity <= proximity_range_in LOOP zipcodes := zipcodes || '','' || somemorerows.zipcode_list; END LOOP; However: SELECT zipcode_list FROM pa_zipcode_proximity WHERE zipcode = zipcode_in AND proximity <= proximity_range_in; Does use the index! zipcode_list and zipcode are text, proximity is an integer. There is a primary key on zipcode and proximity. We are using PostgreSQL 7.3 on i686-pc-linux-gnu, compiled by GCC 2.96. Any ideas? We have recently done a vacuum full and analyze. Any help is much appreciated! -r -- Ryan Mahoney [EMAIL PROTECTED] (718)721-8790 "Tomorrow's Company. Today's Budget." http://www.flowlabs.com ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster