Re: Difference between fsync and open_sync

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ocalderon wrote
> Hi, have a nice day everybody. I'm reading about WAL and i'm trying to
> understand the theory about it, i mean, all the stuff related to disk
> caches, controller caches and so on, and now in my lectures there is a
> section about the different methods to force WAL updates, wal_sync_method
> 
> And googling more i found a very good article (old but useful)
> 
> http://www.westnet.com/~gsmith/content/postgresql/TuningPGWAL.htm
> 
> And i understood the difference between, for example, fsync and fdatasync,
> and between open_datasync and open_sync, but i cannot understand the
> difference between open_sync and fsync or between open_datasync and
> fdatasync , As far as i could understand, the open_* methods call the
> open() method of linux, and f*sync methods calls the fsync() method of
> linux?
> 
> My doubt is about what's the difference between them, or a link where this
> is explained. In the previous link it talks about the 4 methods but i
> cannot distinguish the difference between them.

fsync and open are both system functions for which documentation exists on
the Internet.

Short answer seems to be that the physical write is guaranteed: open =
immediately; fsync = at commit

As long as "fsync mode" is on after a commit command returns the WAL is
promised to be physically written to disk; the means and speed of doing so
vary according to the method chosen (limited by platform), the workload, the
hardware, and the OS.

Others will correct any misunderstandings I may have acquired in my quick
reading and reasoning.

David J.







--
View this message in context: http://postgresql.1045698.n5.nabble.com/Difference-between-fsync-and-open-sync-tp5800666p5800669.html
Sent from the PostgreSQL - admin mailing list archive at Nabble.com.


-- 
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux