Hi,
On 2019-02-14 19:48:05 -0500, Tom Lane wrote:
> Bruce Klein <brucek@gmail.com> writes:
> > If you are running Postgres inside Microsoft WSL (at least on Ubuntu, maybe
> > on others too), and just picked up a software update to version 11.2, you
> > will need to go into your /etc/postgresql.conf file and set fsync=off.
>
> Hm. Probably this is some unexpected problem with the
> panic-on-fsync-failure change; although that still leaves some things
> unexplained, because if fsync is failing for you now, why didn't it fail
> before? Anyway, you might try experimenting with data_sync_retry,
> instead of running with scissors by turning off fsync altogether.
> See first item in the release notes:
>
> https://www.postgresql.org/docs/11/release-11-2.html
>
> Also, we'd quite like to hear more details; can you find any PANIC
> messages in the server log?
I suspect that's because WSL has an empty implementation of
sync_file_range(), i.e. it unconditionally returns ENOSYS. But as
configure detects it, we still emit calls for it. I guess we ought to
except ENOSYS for the cases where we do panic-on-fsync-failure?
You temporarily can work around it, mostly, by setting
checkpoint_flush_after = 0 and bgwriter_flush_after = 0.
Greetings,
Andres Freund