【面试题PostgreSQL】WAL日志是什么?有什么作用?

PostgreSQL WAL 日志的全称是 Write Ahead Log,即预写日志,相当于 Oracle 或者 MySQL 的 redo 日志,对数据的持久性和一致性至关重要,其主要作用如下:

  • WAL 日志能够在数据库宕机时保证不丢失数据,WAL 日志通常配置为同步刷盘,在数据库宕机时,WAL 日志能够保证同步刷入磁盘,在数据库宕机重启时,可以从 WAL 中恢复数据。
  • WAL 日志能够提升数据库写入性能,尤其在传统机械磁盘上,先写 WAL 日志的机制能够将磁盘随机写转换为 WAL 日志的顺序写,极大地提升了数据库的写入性能。
  • WAL 日志能够支撑主备复制。PostgreSQL的高可用通过主备复制实现,主备复制依赖 WAL 日志进行数据的传输。

文章评论

0条评论