Out of memory error during updating huge table
I'm trying to update a table in transaction mode with
300 million records in it, and I'm getting an out of
memory error.
ERROR: out of memory
DETAIL: Failed on request of size 32.
In transaction mode, I first delete all the records in
the table and then try to use COPY to populate it
again with the new data from a file. The out of memory
error happens during the COPY.
Any thoughts? Is there a way to get around this?
Thanks a lot!
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Gabor Siklos <siklosg@yahoo.com> writes:
I'm trying to update a table in transaction mode with
300 million records in it, and I'm getting an out of
memory error.
The update per se shouldn't be a problem, but if you have AFTER ROW
triggers on the table then the list of pending trigger events could
be a problem. Foreign key constraints, in particular, use AFTER
triggers.
In transaction mode, I first delete all the records in
the table and then try to use COPY to populate it
again with the new data from a file. The out of memory
error happens during the COPY.
If the problem is coming from an FK constraint, you might consider
dropping the constraint and then re-adding it after the COPY. This'd
probably be faster than checking the rows "retail", too.
regards, tom lane