We are dumping a 4TB postgres database using pg_dump. The source is on a copy-on-write snapshot filesystem, and the target is an external drive.
While the pg_dump is running we get about 4-5MB/sec writes on the filesystem where postgresql data is (iostat), and specifically inside the base/ directory.
Since the only query running on this DB is the COPY initiated from pg_dump which only reads data, who is writing data to postgres datafiles?
We need to find a way to make postgres stop writing because the source copy-on-write filesystem gets filled up before the dump is finished.
Postgresql version is 8.4, vacuum is not running (autovacuum = off).
UPDATE: I recompiled pg_dump to use READ UNCOMMITTED transactions, but that didn't change anything.