building a binary-portable database

From: Alexy Khrabrov <deliverable(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: building a binary-portable database
Date: 2009-07-31 22:02:44
Message-ID: 7c737f300907311502i506c129fnfefbedfc13d0b46f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I've filled a database on Linux and tried to bring it across to Mac OSX, and
got an error: FATAL: incorrect checksum in control file.
Exploring with pg_controldata shows differences such as:

Linux:
pg_control version number: 833
Catalog version number: 200711281
Database system identifier: 5338438316294798685
Database cluster state: in production
pg_control last modified: Fri 24 Jul 2009 06:37:28 PM EDT
Latest checkpoint location: 4B/5E4B2EC8
Prior checkpoint location: 4B/5E011FD8
Latest checkpoint's REDO location: 4B/5E4B2EC8
Latest checkpoint's TimeLineID: 1
Latest checkpoint's NextXID: 0/47680877
Latest checkpoint's NextOID: 24576
Latest checkpoint's NextMultiXactId: 1
Latest checkpoint's NextMultiOffset: 0
Time of latest checkpoint: Fri 24 Jul 2009 06:34:58 PM EDT
Minimum recovery ending location: 0/0
Maximum data alignment: 8
Database block size: 8192
Blocks per segment of large relation: 131072
WAL block size: 8192
Bytes per WAL segment: 16777216
Maximum length of identifiers: 64
Maximum columns in an index: 32
Maximum size of a TOAST chunk: 1996
Date/time type storage: floating-point numbers
Maximum length of locale name: 128
LC_COLLATE: en_US.UTF-8
LC_CTYPE: en_US.UTF-8

Mac:
WARNING: Calculated CRC checksum does not match value stored in file.
Either the file is corrupt, or it has a different layout than this program
is expecting. The results below are untrustworthy.

pg_control version number: 833
Catalog version number: 200711281
Database system identifier: 5338438316294798685
Database cluster state: in production
pg_control last modified: Wed Dec 31 19:00:00 1969
Latest checkpoint location: 4A6A35E8/0
Prior checkpoint location: 4B/5E011FD8
Latest checkpoint's REDO location: 4B/5B2B3F28
Latest checkpoint's TimeLineID: 75
Latest checkpoint's NextXID: 1560372384/1
Latest checkpoint's NextOID: 0
Latest checkpoint's NextMultiXactId: 47680877
Latest checkpoint's NextMultiOffset: 24576
Time of latest checkpoint: Wed Dec 31 19:00:01 1969
Minimum recovery ending location: 0/4A6A35E6
Maximum data alignment: 0
Database block size: 8
Blocks per segment of large relation: 0
WAL block size: 0
Bytes per WAL segment: 1093850759
Maximum length of identifiers: 8192
Maximum columns in an index: 131072
Maximum size of a TOAST chunk: 8192
Date/time type storage: 64-bit integers
Maximum length of locale name: 64
LC_COLLATE:
LC_CTYPE:

-- apparently, Linux uses floating-point timestamps, while Mac uses 64-bit
integers.

Is there a set of options for the build which will ensure I'll be able to
rsync the databases between 64-bit Linux and 64-bit Mac, both Intel ones?

Cheers,
Alexy

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Josh Kupershmidt 2009-07-31 22:10:43 Re: Division by zero
Previous Message Christine Desmuke 2009-07-31 21:57:25 Re: Make check fails on 8.3.7