If the memory-mapped file approach is disabled then the changes stay in node's internal buffer. In addition, the location to write checkpoint record is literally called the checkpoint.
The WAL approach inverts this. The checkpoint has to stop at that point because otherwise it might overwrite part of the database file that the reader is actively using.
Beginning with version 3. If a database file is separated from its WAL file, then transactions that were previously committed to the database might be lost, or the database file might become corrupted. If the conversion to WAL could not be completed for example, if the VFS does not support the necessary shared-memory primitives then the journaling mode will be unchanged and the string returned from the primitive will be the prior journaling mode for example "delete".
This is mostly true. Database recovery. All processes using a database must be on the same host computer; WAL does not work over a network filesystem. Upon restart, that program might need to know whether the operation it was performing succeeded, succeeded partially, or failed.
So a large change to a large database might result in a large WAL file. There are seven states in total: 'start up' is the state that system is starting up; 'shut down' is the state that system is going down normally by the shutdown command; 'in production' is the state that system is running; and so on.
WAL uses many fewer fsync operations and is thus less vulnerable to problems on systems where the fsync system call is broken. In other words, write access was required in order to read a WAL-mode database.