Vishal Dixit <vishal_d@ureach.com> writes:
> I modified pg_dump.c and aded a sleep of 1000 micro sec in the
> loop for copying data and it fixed the problem. It looks like
> for slower machines when it comes to reading larger tables,
> pg_dump finds no data to read in new lines and assumes EOL while
> there is still data to be dumped, as a result PQendcopy() throws
> error. THROTTLE comments in pg_dump were helpful. Any thoughts.
This is hard to believe. If you're running out of network buffers,
slowing down the data-consuming process ought to make things worse not
better. pg_dump doesn't have any direct way of throttling the backend's
output; that happens when the network queue is full and the kernel
starts blocking the backend's send() requests. I would have taken your
problem to suggest that Windows 2003 doesn't cope very well with a full
network queue.
regards, tom lane