Sean Shanny <shannyconsulting@earthlink.net> writes:
> I run this:
> explain update f_commerce_impressions set servlet_key = 60 where
> servlet_key in (68,69,70,71,87,90,94,91,98,105,106);
> ERROR: out of memory
> DETAIL: Failed on request of size 1024.
Well, I have to confess to total bafflement. AFAICS the overflowing
hash table must be the duplicate-tuple hash table that nodeIndexscan.c
sets up --- but that table shouldn't get any entries loaded into it
if you just do EXPLAIN with no ANALYZE. Furthermore, it should only
get loaded with entries for tuples that match the WHERE clause, and
you said earlier that there are no rows with these servlet_key values.
The code involved is all new in 7.4, so finding a bug in it wouldn't
surprise me much, but I can't see how this could be happening.
It would help if you could rebuild with --enable-debug (if that wasn't
on already) and get a stack trace from the errfinish() call. Or, is
there any chance I could get access to your machine and look at the
problem for myself?
regards, tom lane