在每次提交时,PostgreSQL通过直接IO(通过wal_sync_method配置)将WAL刷新到磁盘,以保证持久性.数据文件只需要在共享缓冲区中,以后可以刷新到磁盘.
我的问题是,在每次提交时,postgr是否也会触发一个"write system call"来刷新数据文件?它应该不会影响写延迟,因为写是异步的,内核只将数据从共享缓冲区移动到内核页面缓存,不涉及即时IO.
换句话说,PostgreSQL是否只在判断点期间将数据文件刷新到磁盘,或者是否有其他机制也可以刷新数据文件?
https://youtu.be/1VWIGBQLtxo?si=ZNGu17nm2xj8JpBY&t=291
此视频建议事务提交不会将数据文件写入磁盘.