> But, PostgreSQL can also improve checkpoint to solve the problem
> (when checkpoint start, all bgwrite & backend process evict dirty page from buffer to disk ,can call sync_file_range(sync mode), and checkpointer call fsync before ).
I can't parse that sentence. Are you saying we should call
sync_file_range? If so, we do that starting in 9.6 for checkpoints (by
default) and background writer. If you do not want that to be called,
you also can disable it.