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