Hi, On 2018-08-21 15:00:03 +0000, Ravi Krishna wrote: > In a recent thread of mine I learned something very interesting. If a table > is created and data is loaded via COPY FROM within the same transaction, then > PG will be smart enough to not generate WAL logs because all it needs to do > is to track the status of the transaction and let the data load go to the new > data file created for the table. If committed, the table is released for > other sessions, if rolledback, vaccum will delete the data file later on. > I tested it as follows for a table with 50 milllion rows. No indexes.
Please note this is only the case if wal_level = minimal. If replication (or PITR) is supported, that mode can't be used, because the data has to go into the WAL. Were you using wal_level = minimal? (FWIW, it's not VACUUM that'd unlink the data in cause of failure, but that doesn't really matter much). Greetings, Andres Freund