Re: Retore Postgres DB without dump

From: Shane Ambler <pgsql(at)Sheeky(dot)Biz>
To: Philippe(dot)Baudrion(at)adm(dot)unige(dot)ch
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Retore Postgres DB without dump
Date: 2008-04-11 16:50:53
Message-ID: 47FF96ED.1080503@Sheeky.Biz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Baudrion Philippe wrote:
> Hello all,
> I had a look at your last year archive without finding my solution, but
> I suppose it's a common problem.
> I am trying to restore an old database from their relations files, I
> don't have any dump, is it possible and how ?

Get the old version running again and perform the dump. Then restore to
the new version.

> System information:
> Original - db: Postgres v.7.4, OS: Linux Mandriva 2006
> Current - db: Postgres v.8.1.11, OS: Suse SLES10sp1

The first question is whether the new server is amd64?
If you are trying to open the old 32 bit server files on the new 64 bit
one this may be the issue.

Are you trying to get 7.4 running on the old hardware/OS or the new
hardware/OS?

Or have you installed the new OS onto the same machine?

> What I have tried is :
> - To copy the files directly in an empyty db, I got a message like this
> when trying to connect: "Error: wrong files version, these are 7.4 files
> version and you are running 8.1"

Minor updates (the third version digit) can read the same files, major
upgrades (the first two digits) require a dump from the old version
followed by a restore into the new version.

> - So, I have build and installed a 7.4 version of Postgres
> - Copy the files in an empty database
> - Connection was ok, but "\dt" told me "no relations found".

Exact copy of the entire data folder?

Which 7.4.x? 7.4.19 is the latest and may have fixes that address this.

If there is damage to the data files a few of the others here can help.
You will want to be running 7.4.19 first.

> What can I try next ?
> I also have the original "pg_clog" and "pg_xlog" directories, and I have
> also tried to replace them. What can I do with the WAL segments ?

Start with a copy of the original files you backed up. Install the
newest update for 7.4 and try pg_dumpall from there. You may also try
using pg_dumpall 8.1.x (or 8.3) to dump from the 7.4 server.

When you have a dump file that looks reasonable try restoring it into
your new server.

If this is an old and new server you can pipe the dump output to psql
sending it straight to the new server.

--

Shane Ambler
pgSQL (at) Sheeky (dot) Biz

Get Sheeky @ http://Sheeky.Biz

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Chris Hoover 2008-04-11 20:02:36 What is the difference in storage between a blank string and null?
Previous Message Andrew Sullivan 2008-04-11 16:40:16 Re: Retore Postgres DB without dump