"Greg Stark" <gsstark@mit.edu> wrote
>
> But I don't see turning on and off the WAL on a per-transaction basis to
> be
> useful. Every transaction in the system is affected by the WAL status of
> every
> other transaction working with the same tables. It doesn't serve any
> purpose
> to have one transaction bypassing the WAL while everyone else does WAL
> logging
> for the same table; they're all going to lose if the system crashes.
>
Sure, so a minimal amount xlog is required. And to make finished transaction
durable, issue a checkpoint.
> It seems to me the only rational way to approach this is to have a
> per-table
> flag that sets that table to be non-logged. Essentially changing a table's
> behaviour to that of a temporary table except that other transactions can
> see
> it. If the system crashes the table is truncated on system restore.
>
> The only problem I have with this is that it smells too much like MySQL
> MyISAM
> tables...
>
Table are related, so table A references table B. So set a per-table flag is
hard to use or doesn't work.
Regards,
Qingqing