When I try to recover PostgreSQL database from a backup saved under my old version of Mac Os X 10.5 (32bits) on my new version 10.6 (64bits), I have this error :
# sudo -u postgres /opt/local/lib/postgresql82/bin/postgres -D defaultdb_backup
FATAL: incorrect checksum in control file
This was due to the one server running a 32 bit version and the other one running a 64 bit.
How do I recover my old data ?
Install somewhere postgres in exactly the same version as before, on same architecture, compiles with the same options, then you can recover. doing backups by writing wal segments and/or copying data directory is not really portable.
As depesz said you will need to compile a 32bit version of Postgres to import the backup. You should be able to get the installer from the Postgres website and run the 32 bit version temporarily, even on a 64bit install of OS X.
As an aside, in the future when doing backups I MUCH prefer using pg_dump --clean to get a full dump from the database. You can use a pg_dump --clean file on any version of postgres.
I found how to recover my datas.
The postgresql executable is in 64 bits :
I verify the postgresql executable in my backup is in 32 bits :
I copy it on my system :
And now when I do :
It works !
Thank you all