Thanks again - for some reason I thought that each page should be fsynced
separately...

I am running ZFS and going to try following config on 32gb server:

shared_buffers = 512mb (previously was 6gb)
max_wal_size = 8gb
zfs_arc_max = 24gb

i.e. run with minimal shared buffers and do all the caching in ZFS. As I
understand it now such config can provide better results since data will be
cached once in ZFS.

On Sun, Sep 24, 2017 at 8:59 PM, Tomas Vondra <tomas.von...@2ndquadrant.com>
wrote:

> On 09/24/2017 11:03 AM, Vladimir Mihailenco wrote:
> > Thanks for your response. Ss I understand it now the difference is
> > that checkpoints are synchronous but dirty pages eviction from shared
> > buffers are asynchronous, correct? How then Postgres ensures that OS
> > writes data to the disk so WAL can be deleted?
> >
>
> The last step in a checkpoin is fsync() on the files. Without that, the
> checkpoint is considered incomplete and the database won't rely on it.
>
>
> regards
>
> --
> Tomas Vondra                  http://www.2ndQuadrant.com
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>

Reply via email to