Обсуждение: AW: Recovery of PGSQL after system crash failing!!!

Поиск
Список
Период
Сортировка

AW: Recovery of PGSQL after system crash failing!!!

От
Zeugswetter Andreas SB
Дата:
> It removes the need to disable fsync to get best performance! 

-F performance is still better, only the difference is not so big as before.

> Since there is a fundamental recovery problem if the WAL file
> disappears, then perhaps we should have a workaround which can ignore
> the requirement for that file on startup? Or maybe we do already?
> Vadim??

This was discussed, but iirc not yet implemented.

> Also, could the "-F" option be disabled now that WAL is enabled? Or is
> there still some reason to encourage/allow folks to use it?

I use it, since I restore after a system crash (which never happens).
I think all that is probably missing in -F mode is probably 2-3 fsyncs
during checkpoint. One for the xlog, and one for pg_control (maybe also pg_log).
All other fsyncs are only to not buffer transactions.

Andreas 


Re: Recovery of PGSQL after system crash failing!!!

От
"Vadim Mikheev"
Дата:
> > It removes the need to disable fsync to get best performance! 
> 
> -F performance is still better, only the difference is not so big as before.

Well, when "checkpoint seek in logs" will be implemented difference
will be the same - lost consistency.

> > Since there is a fundamental recovery problem if the WAL file
> > disappears, then perhaps we should have a workaround which can ignore
> > the requirement for that file on startup? Or maybe we do already?
> > Vadim??
> 
> This was discussed, but iirc not yet implemented.

Yes & yes.

> > Also, could the "-F" option be disabled now that WAL is enabled? Or is
> > there still some reason to encourage/allow folks to use it?

I've used it when testing btree runtime recovery to increase concurrence.

> I use it, since I restore after a system crash (which never happens).
> I think all that is probably missing in -F mode is probably 2-3 fsyncs
> during checkpoint. One for the xlog, and one for pg_control (maybe also pg_log).
> All other fsyncs are only to not buffer transactions.

Probably we could just force fsync during checkpoint, for the moment.

Thanks to all for help!

Vadim