On Thursday 08 May 2014 16:05:59 Sim Zacks wrote: > On 05/08/2014 02:09 PM, Vincent de Phily wrote: > The problem is that sometimes (once every few days at about 2-300K queries > per day) I get many more rows than the max 5000 I asked for (I've seen up > to 25k). And I'm getting timeouts and other problems as a result. > I would bet you have another copy of the code running without the limit. > Maybe on a cron job. To prove this, modify the log statement slightly and > see if this statement is really returning more then 5000 rows. LOG.debug("1 > - Fetched %d rows", rlen) or similar. I assure you I don't :/ The program is only 350 lines including plenty of good comments, it'd be hard to miss a rogue query. Exhaustive list of queries: - pg_try_advisory_lock to make sure that only one instance is running at a time - set processing='f' during startup - delete from foo where id in (fully_processed_records) - listen for the notification from an "on insert" trigger on table foo - select highest and lowest record in foo for monitoring purpose -- Vincent de Phily