"Florian G. Pflug" <fgp(at)phlo(dot)org> writes:
> Now, I was thinking if TRUNCATE couldn't just let relfilenode in
> pg_class point to a new datafile, and leave the old one in place.
Until when? How would you synchronize the switchover?
> VACUUM could then remove datafiles when it purges a record from pg_class.
And how would you prevent VACUUM from doing so incorrectly? The fact
that pg_class contains a dead record is not ordinarily an indication
that the relfilenode mentioned in the record is not needed anymore.
regards, tom lane