Table of Contents
某些扩展,主要是实现自定义访问方法的扩展,可能需要执行预写日志以确保 崩溃安全。PostgreSQL提供了两种方式让扩展实现 这一目标。
首先,扩展可以选择使用通用 WAL,这是一种特殊类型的 WAL 记录,用于以通用方式描述页面的更改。此方法实现简单,且在应用记录时不需要加载扩展库。 但是,执行逻辑解码时会忽略通用 WAL 记录。
其次,扩展可以选择使用自定义资源管理器。 这种方法更灵活,支持逻辑解码,有时能生成比通用WAL更小得多的预写日志记录。 但是,对于扩展来说,实现起来更复杂。