面试题答案
一键面试- 默认值:
on
。 - 作用:
fsync
配置项用于控制PostgreSQL是否在每次事务提交时将所有已修改的页面强制刷新到磁盘。当fsync
为on
时,PostgreSQL在事务提交时会确保数据持久化到磁盘,这能保证系统崩溃或掉电后数据的完整性;如果fsync
为off
,则数据可能只保留在操作系统缓存中,尚未真正写入磁盘。 - 开启对性能影响:
- 优点:提供了很高的数据安全性,确保事务提交后数据已真正持久化,在系统故障后可恢复到故障前的状态,不会丢失已提交事务的数据。
- 缺点:由于每次事务提交都需要等待数据真正写入磁盘,这涉及磁盘I/O操作,相比只写入缓存,速度较慢,因此会显著降低事务处理的性能,尤其是在高并发写入场景下。
- 关闭对性能影响:
- 优点:事务提交速度会大幅提升,因为不需要等待数据持久化到磁盘,只需要写入操作系统缓存即可,在高并发写入场景下能显著提高系统的事务处理能力。
- 缺点:系统崩溃或掉电时,操作系统缓存中的数据可能丢失,导致已提交事务的数据丢失,数据完整性无法保证,可能需要通过备份和恢复操作来尽量还原数据,但可能无法恢复到故障前的最新状态。