"Henry - Zen Search SA" <henry@xxxxxxxxx> writes: > The problem was this: a silly SQL error (misuse of OR and missing > parentheses) resulted in a massive result set which resulted in OOM - if > the select is run manually (no funny "out of balance" strings). > If it's run in a function (which uses a FOR loop, which uses implicit > cursors), then the "out of balance" string is returned for the TEXT column > almost immediately. Is it possible the "out of balance" is actually an expected result from the query --- ie, it's in a table somewhere? In the first case you'd not see it because of the OOM failure, but with a cursor you'd be able to process (at least some of) the query output ... regards, tom lane