![PostgreSQL WAL 文件兼容性](https://linux22.com/image/496396/PostgreSQL%20WAL%20%E6%96%87%E4%BB%B6%E5%85%BC%E5%AE%B9%E6%80%A7.png)
我有一个在 CentOS 上运行的 PostgreSQL 生产服务器(从源代码编译),并且我计划在另一台运行 Ubuntu(默认 Ubuntu 二进制文件)的服务器上设置一个热备用数据库。
生产服务器运行在 8.3.5 上,计划中的 Ubuntu 热备运行在 8.3.x 上。我可以在 Ubuntu 8.3.x 服务器上毫无问题地使用生产 WAL 文件吗?
提前致谢。
答案1
PostgreSQL 应该在次要版本之间兼容,但不能与主要版本兼容。IE 8.3.0 和 8.3.1 应该相互兼容,但 8.3.0 和 8.4.0 则不能。次要版本只是错误修复,因此您不应该遇到任何问题。正如 depesz 所说,您需要确保架构相同。
如果您没有兼容的版本,您可以使用 slony 之类的工具在不同版本之间进行复制。
答案2
我建议您执行 postgresql 推荐的升级过程,即转储所有数据库,然后恢复它们(使用 pg_dumpall)。
答案3
这取决于架构和编译选项。
检查两个服务器/系统是否具有相同的架构(cpu,32/64 位)
然后检查两者是否具有类似的编译选项 - 路径无关紧要,最重要的选项是“integer-datetimes”。
如果一切匹配 - 您应该能够跨系统使用 wal 文件。