Looking at this patch for the commitfest I have a few questions. 1) You said you added an fsync of the new directory -- where is that I don't see it anywhere. 2) Why does the second pass to do the fsyncs read through fromdir to find all the filenames. I find that odd and counterintuitive. It would be much more natural to just loop through the files in the new directory. But I suppose it serves as an added paranoia check that the files are in fact still there and we're not fsyncing any files we didn't just copy. I think it should still work, we should have an exclusive lock on the template database so there really ought to be no differences between the directory trees. 3) It would be tempting to do the posix_fadvise on each chunk as we copy it. That way we avoid poisoning the filesystem cache even as far as a 1G file. This might actually be quite significant if we're built without the 1G file chunk size. I'm a bit concerned that the code will be a big more complex having to depend on a good off_t definition though. Do we only use >1GB files on systems where off_t is capable of handling >2^32 without gymnastics? -- greg -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance