使用反向字节序编译PostgreSQL

时间:2010-10-04 12:19:43

标签: postgresql endianness

我的旧iMac G5最近去世了。我在那里运行了一个PostgreSQL实例,并且我保留了备份。但是当我在较新的Macbook Pro中恢复它们时,我意识到由于字节字节序差异我无法进行恢复。

是否有任何编译标志可以传递给PostgreSQL的配置脚本以在Intel上使用反向字节序,允许我从备份恢复,然后执行SQL转储,并在默认的字节序实例上恢复它?

实际上,我甚至不知道是否需要重新编译PostgreSQL,也许某些人可以指示我允许我进行恢复?

1 个答案:

答案 0 :(得分:1)

没有。如果您的备份是使用pg_dump进行的,那么它们将与字节序无关,即使您使用的是二进制格式。

如果您获取了数据目录的副本(使用数据库关闭,或使用pg_start_backup()/ pg_stop_backup()),则需要在具有相同字节顺序的计算机上进行还原。您可能最好在具有相同字节序的虚拟机中导入它,然后使用pg_dump从那里转储并在新机器上重新加载。

如果您从磁盘中取出备份而没有关闭PostgreSQL,那么同样基本的东西仍然存在,除了您还必须尝试从损坏的备份中恢复。这可能是一项小工作或数百小时或更长时间的工作,具体取决于您在数据库上的流量,以及您的幸运程度。