Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> Anyway, any idea why the behaviour is so different, and how I might tinker
> with the schema?
-D does a SELECT not a COPY, so pg_dump has to buffer the whole contents
of a table when you do that. Consider increasing your kernel limit on
process size.
regards, tom lane