http://archives.postgresql.org/pgsql-hackers/2006-10/msg01172.php
As discussed on -hackers, its possible to avoid writing any WAL at all
for COPY in these circumstances:
BEGIN;
CREATE TABLE foo..
COPY foo...
COMMIT;
BEGIN;
TRUNCATE foo..
COPY foo...
COMMIT;
The enclosed patch implements this, as discussed. There is no user
interface to enable/disable, just as with CTAS and CREATE INDEX; no
docs, just code comments.
This plays nicely with the --single-transaction option in psql to allow
fast restores/upgrades.
YMMV but disk bound COPY will benefit greatly from this patch, some
tests showing 100% gain. COPY is still *very* CPU intensive, so some
tests have shown negligible benefit, fyi, but that isn't the typical
case.
Applies cleanly to CVS HEAD, passes make check.
--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com