I want to call out this part of this patch:
> Also this allows for the cleanup of files left behind in the crash of
> the transaction that created it.
This is interesting to a lot wider audience than ALTER TABLE SET
LOGGED/UNLOGGED. It also adds most of the complexity, with the new
marker files. Can you please split the first patch into two:
1. Cleanup of newly created relations on crash
2. ALTER TABLE SET LOGGED/UNLOGGED changes
Then we can review the first part independently.
Regarding the first part, I'm not sure the marker files are the best
approach to implement it. You need to create an extra file for every
relation, just to delete it at commit. It feels a bit silly, but maybe
it's OK in practice. The undo log patch set solved this problem with the
undo log, but it looks like that patch set isn't going anywhere. Maybe
invent a very lightweight version of the undo log for this?
- Heikki