Tom Lane wrote:
> Heikki Linnakangas <heikki@enterprisedb.com> writes:
>> The best I can think of is to rename the obsolete file to
>> <relfilenode>.stale, when it's scheduled for deletion at next
>> checkpoint, and check for .stale-suffixed files in GetNewRelFileNode,
>> and delete them immediately in DropTableSpace.
>
> This is getting too Rube Goldbergian for my tastes. What if we just
> make DROP TABLESPACE force a checkpoint before proceeding?
True, that would work. DROP TABLESPACE should be uncommon enough that
the performance hit is ok. We only need to checkpoint if the directory
isn't empty, though I think that's the case more often than not; you're
most likely to drop a tablespace right after dropping all relations in it.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com