On 18/01/2008, Peter Eisentraut <peter_e@gmx.net> wrote:
> Tom Lane wrote:
> > What would work better is to add some code that checks whether
> > pg_control_version looks like the byte-swap of a small number,
> > and prints a suitably modified error message if so.
>
> Here is a possible patch. Example output:
>
> $ pg-install/bin/postgres -D pg-install/var/data
> FATAL: database files are incompatible with server
> DETAIL: The database cluster was initialized with PG_CONTROL_VERSION 1090715648 (0x41030000), but the server was
compiledwith PG_CONTROL_VERSION 833 (0x00000341).
> HINT: This could be a mismatched byte order. It looks like you need to initdb.
>
> I didn't follow how the user got into this mess, so I don't know whether the
> suggestion "you need to initdb" is appropriate.
I would think not, as you almost certainly must be doing a file level
restore of the data directory to get into this state and therefore
probably want to keep your data.
/D