building a binary-portable database - Mailing list pgsql-general

From Alexy Khrabrov
Subject building a binary-portable database
Date
Msg-id 7c737f300907311502i506c129fnfefbedfc13d0b46f@mail.gmail.com
Whole thread Raw
Responses Re: building a binary-portable database
List 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

pgsql-general by date:

Previous
From: Christine Desmuke
Date:
Subject: Re: Make check fails on 8.3.7
Next
From: Josh Kupershmidt
Date:
Subject: Re: Division by zero