据我了解,根据提交日志中的信息,在提交发生后,在堆页面上首次访问时设置提示位。
由于事务和提交日志是使用 WAL 消息复制的,但提示位似乎没有,这是否意味着每个备用服务器在访问元组时都必须单独设置它们?
我正在运行几个集群,其中备用节点不会被查询,除非它们最终被提升为主节点,我很好奇这是否意味着他们需要在提升时对自上次(自动)清理特定表以来被修改的所有数据设置提示位?
我意识到这可能不是一个大量的数据,因为自动清理运行得相当频繁。
据我了解,根据提交日志中的信息,在提交发生后,在堆页面上首次访问时设置提示位。
由于事务和提交日志是使用 WAL 消息复制的,但提示位似乎没有,这是否意味着每个备用服务器在访问元组时都必须单独设置它们?
我正在运行几个集群,其中备用节点不会被查询,除非它们最终被提升为主节点,我很好奇这是否意味着他们需要在提升时对自上次(自动)清理特定表以来被修改的所有数据设置提示位?
我意识到这可能不是一个大量的数据,因为自动清理运行得相当频繁。
您对情况的理解是正确的。
如果您不希望新晋升的备用数据库上的第一个查询因检查提交日志而受到性能影响,您可以选择通过设置来复制提示位
wal_log_hints = on
。这将导致 WAL 卷略高。