現在メインで使用している FreeBSD は 32bit 版 (i386) ですが、64bit 版 (amd64) も一部使用しています。
データ移行の際、全断が可能であれば MySQL や PostgreSQL はオフラインバックアップすることで、データベース毎に dump -> restore しなくても簡単にデータ移行が出来ます。
が、PostgreSQL は 32bit -> 64bit の変化も伴う場合にただのデータコピーで済まないケースの 1 つです。
オフラインバックアップでスーパーユーザ pgsql のホームディレクトリをコピーしただけでは
FATAL: incorrect checksum in control file.
と起動しません。
これは [pgsql-jp: 36904] 等でも説明がある様に内部で互換性のない関数や仕様が原因で、pg_dumpall 等でダンプする以外に方法はない様です。
旧機器 : pg_dumpall > pgsql.dumpall
新機器 : psql template1 -f pgsql.dumpall
- Migrate 32bit to 64bit (FreeBSD, PostgreSQL)
- Migrate 32bit to 64bit (FreeBSD, GDBM)
- Migrate 32bit to 64bit (FreeBSD, ionCube PHP Loader)
- Migrate to FreeBSD 9.1-RELEASE (ImageMagick 6.4)
- Migrate to FreeBSD 9.1-RELEASE (PostgreSQL)
- Migrate to FreeBSD 9.1-RELEASE (JDK 1.6)
- Migrate to FreeBSD 9.1-RELEASE (idnconv)
- Migrate to FreeBSD 9.1-RELEASE (PDFJ)