在postgresql中,对于INSERT/UPDATE/DELETE之类的查询,在对数据缓冲区进行所需的更改之前,将在WAL缓冲区中创建包含所需元组信息的WAL记录。实用程序语句也是一样的吗?我看到了一个选项wal_level,用于减少某些查询的WAL条目,比如在事务本身中创建和删除表。但否则会发生什么呢?是否记录了实用程序语句?如果是,这些记录的XLog记录结构是什么?提前感谢
发布于 2016-10-06 07:43:14
wal_level不是特定于“特定查询”的。它会更改写入WAL记录的总体信息(例如,支持热备份)。
即使是非事务性语句也会被记录,例如create database或nextval()。
唯一没有记录的语句是处理未记录表的语句(以及--当前--散列索引)。
预写日志不是用于管理事务,而是用于管理持久性。
https://dba.stackexchange.com/questions/151542
复制相似问题