Extract (Recover) data from a cluster built on a different architecture (ARM).

Started by Phil Coulingalmost 15 years ago4 messagesgeneral
Jump to latest
#1Phil Couling
couling@gmail.com

Hi

I'm looking for a way to extract the data from a PostgreSQL 8.3.14
database (cluster) that was built using an an ARM/Linux server. The
problem is that the hardware itself is a brick and the replacement
hardware will be X86/AMD64.

Sadly my backups are all copies of the DB files and don't include a
recent text based dump (fail!). All attempts so far to start up a
server using the original files have failed with a couple of different
errors (Failed to parse...). I'm rapidly coming to the conclusion
that this is to do with endianness. X86 is little endian whereas ARM
is primarily big endian.

Are there any tools for recovering data from a database built with a
different architecture or is my data toast unless I can lay my hands
on an ARM box?

Thanks so much for your time.

#2Cédric Villemain
cedric.villemain.debian@gmail.com
In reply to: Phil Couling (#1)
Re: Extract (Recover) data from a cluster built on a different architecture (ARM).

2011/4/24 Phil Couling <couling@gmail.com>:

Hi

I'm looking for a way to extract the data from a PostgreSQL 8.3.14
database (cluster) that was built using an an ARM/Linux server.  The
problem is that the hardware itself is a brick and the replacement
hardware will be X86/AMD64.

Sadly my backups are all copies of the DB files and don't include a
recent text based dump (fail!).  All attempts so far to start up a
server using the original files have failed with a couple of different
errors (Failed to parse...).  I'm rapidly coming to the conclusion
that this is to do with endianness.  X86 is little endian whereas ARM
is primarily big endian.

I would test with qemu to get a virtualized ARM then install
postgresql and dump the data.

Are there any tools for recovering data from a database built with a
different architecture or is my data toast unless I can lay my hands
on an ARM box?

I don't think it exists one

Thanks so much for your time.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
Cédric Villemain               2ndQuadrant
http://2ndQuadrant.fr/     PostgreSQL : Expertise, Formation et Support

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Phil Couling (#1)
Re: Extract (Recover) data from a cluster built on a different architecture (ARM).

Phil Couling <couling@gmail.com> writes:

I'm looking for a way to extract the data from a PostgreSQL 8.3.14
database (cluster) that was built using an an ARM/Linux server. The
problem is that the hardware itself is a brick and the replacement
hardware will be X86/AMD64.

Sadly my backups are all copies of the DB files and don't include a
recent text based dump (fail!). All attempts so far to start up a
server using the original files have failed with a couple of different
errors (Failed to parse...). I'm rapidly coming to the conclusion
that this is to do with endianness. X86 is little endian whereas ARM
is primarily big endian.

Are there any tools for recovering data from a database built with a
different architecture or is my data toast unless I can lay my hands
on an ARM box?

You might possibly be able to do it with a different big-endian machine
such as PPC (it would also have to match on alignment rules and
floating-point format, but I think you'd probably squeak by on those).
Cedric's suggestion of an emulator is probably a surer answer though.

regards, tom lane

#4dennis jenkins
dennis.jenkins.75@gmail.com
In reply to: Tom Lane (#3)
Re: Extract (Recover) data from a cluster built on a different architecture (ARM).

On Sun, Apr 24, 2011 at 4:16 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Phil Couling <couling@gmail.com> writes:

I'm looking for a way to extract the data from a PostgreSQL 8.3.14
database (cluster) that was built using an an ARM/Linux server. The
...
Are there any tools for recovering data from a database built with a
different architecture or is my data toast unless I can lay my hands
on an ARM box?

You might possibly be able to do it with a different big-endian machine
such as PPC (it would also have to match on alignment rules and
floating-point format, but I think you'd probably squeak by on those).
Cedric's suggestion of an emulator is probably a surer answer though.

regards, tom lane

QEMU can emulate an ARM system. It won't be really fast, but it might work

for you. Disclaimer: I've never used QEMU to emulate an ARM system, but the
docs say that you can.

http://wiki.qemu.org/Main_Page