On Monday 15 February 2010 01:50:57 Greg Stark wrote: > Log Message: > ----------- > Speed up CREATE DATABASE by deferring the fsyncs until after copying > all the data and using posix_fadvise to nudge the OS into flushing it > earlier. This also hopefully makes CREATE DATABASE avoid spamming the > cache. > > Tests show a big speedup on Linux at least on some filesystems. > > Idea and patch from Andres Freund. I just found a relatively big problem with one of your modifications on the patch - you removed the FreeDir(xldir); xldir = AllocateDir(fromdir); pair - unfortunately its crucial because otherwise the DIR does not get rewound - that resulted in *no* files getting fsync()ed (otherwise the loop above wouldn't have finished yet...). I think that was also causing the problems I pointed out in " Directory fsync and other fun"...
You removed it because you didn't want to open the directory twice? I think doing that is simpler than using rewinddir - I have no idea how usable that one is on windows for example Could you add it back? Andres -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers