Adrian Klaver <adrian.klaver@aklaver.com> writes:
> I did some digging in the code and see that the TOC is more then that,
> it stores a range of data. Still have not part where the offsets are
> ignored for writes to stdout, but will keep on digging.
The TOC is initially written out with zeroes for the offsets.
Then the per-table data parts are written out, tracking where
each one begins. At the end, if the output file is seekable,
pg_dump seeks back to the start and re-writes the whole TOC
section, now with data offsets populated. But output to a
pipe won't be seekable.
regards, tom lane