> > How to synchronize with checkpoint-er if wal_files > 0?
>
> I was sort of visualizing assigning the created xlog files
> dynamically:
>
> create a temp file of a PID-dependent name
> fill it with zeroes and fsync it
> acquire ControlFileLockId
> rename temp file into place as next uncreated segment
> update pg_control
> release ControlFileLockId
>
> Since the things are just filled with 0's, there's no need to
> know which segment it will be while you're filling it.
>
> This would leave you sometimes with more advance files than you really
> needed, but so what ...
Yes, it has sence, but:
> > And you know - I've run same tests on ~ Mar 9 snapshot
> > without any problems.
>
> That was before I changed the code to pre-fill the file ---
> now it takes longer to init a log segment. And we're only
> using a plain SpinAcquire, not the flavor with a longer timeout.
xlog.c revision 1.55 from Feb 26 already had log file
zero-filling, so ...
Vadim