From: | August Zajonc <augustz(at)augustz(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>, Heikki Linnakangas <heikki(at)enterprisedb(dot)com>, Postgresql-Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [PATCH] Lazy xid assingment V2 |
Date: | 2007-09-01 22:20:16 |
Message-ID: | 46D9E5A0.808@augustz.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> What I was thinking about was a "flag file" separate from the data file
> itself, a bit like what we use for archiver signaling. If nnnn is the
> new data file, then "touch nnnn.new" to mark the file as needing to be
> deleted on restart. Remove these files just *before* commit. This
> leaves you with a narrow window between removing the flag file and
> actually committing, but there's no risk of having to PANIC --- if the
> remove fails, you just abort the transaction.
>
> However, this has nonzero overhead compared to the current behavior.
> I'm still dubious that we have a problem that needs solving ...
>
> regards, tom lane
Maybe just get back to the beginning:
We are concerned about leaking files on *crashes*.
So during recovery, the only time we are going to care, iterate through
list of files that should exist (pg_class) after replay of log.
Any files that don't belong (but fit the standard naming conventions)
move to spclocation/trash or similar.
For the admin who had critical data they needed to recover and is going
to spend the time going to the disk too pull it out they still can
access it. This also saves admins who create table like filenames in
table spaces.
For most other folks they can dump /trash.
Does this avoid the dataloss worries?
From | Date | Subject | |
---|---|---|---|
Next Message | Decibel! | 2007-09-01 22:23:55 | Re: Per-function search_path => per-function GUC settings |
Previous Message | August Zajonc | 2007-09-01 22:17:50 | Re: [PATCH] Lazy xid assingment V2 |