Thread: Can a broken Postgresql data directory be reconstructed withoutlosing data?

I'm trying to restore a database from a broken data directory that have lost many of its files accidentally.

I have tried unsuccessfully to install new instance of the same Postgresql version and then copy (with overwrite) the broken datadir to the new one. here the remaining datadir that I'm working on :

   |-base  |---1  |---16384  |---17950  |---19621  |---pgsql_tmp  |-global  |-pg_multixact  |---members  |---offsets  |-pg_notify  |-pg_stat_tmp  |-pg_tblspc  |-pg_xlog  |---archive_status

Re: Can a broken Postgresql data directory be reconstructed withoutlosing data?

From
Ricardo Martin Gomez
Date:
You must to restore a database from a backup.

Regards.


From: A A <fellah.tech@yahoo.com>
Sent: Sunday, April 15, 2018 5:25:05 AM
To: pgsql-general@lists.postgresql.org
Subject: Can a broken Postgresql data directory be reconstructed without losing data?
 

I'm trying to restore a database from a broken data directory that have lost many of its files accidentally.

I have tried unsuccessfully to install new instance of the same Postgresql version and then copy (with overwrite) the broken datadir to the new one. here the remaining datadir that I'm working on :

   |-base  |---1  |---16384  |---17950  |---19621  |---pgsql_tmp  |-global  |-pg_multixact  |---members  |---offsets  |-pg_notify  |-pg_stat_tmp  |-pg_tblspc  |-pg_xlog  |---archive_status

Well this doesn't address the question at all.

On Sunday, April 15, 2018, 1:44:00 PM GMT+2, Ricardo Martin Gomez <rimartingomez@hotmail.com> wrote:


You must to restore a database from a backup.

Regards.


From: A A <fellah.tech@yahoo.com>
Sent: Sunday, April 15, 2018 5:25:05 AM
To: pgsql-general@lists.postgresql.org
Subject: Can a broken Postgresql data directory be reconstructed without losing data?
 

I'm trying to restore a database from a broken data directory that have lost many of its files accidentally.

I have tried unsuccessfully to install new instance of the same Postgresql version and then copy (with overwrite) the broken datadir to the new one. here the remaining datadir that I'm working on :

   |-base  |---1  |---16384  |---17950  |---19621  |---pgsql_tmp  |-global  |-pg_multixact  |---members  |---offsets  |-pg_notify  |-pg_stat_tmp  |-pg_tblspc  |-pg_xlog  |---archive_status

Re: Can a broken Postgresql data directory be reconstructed withoutlosing data?

From
Michael Paquier
Date:
On Sun, Apr 15, 2018 at 08:25:05AM +0000, A A wrote:
> I'm trying to restore a database from a broken data directory that
> have lost many of its files accidentally.

Let me guess, a wild set of rm commands?

> I have tried unsuccessfully to install new instance of the same
> Postgresql version and then copy (with overwrite) the broken datadir
> to the new one.here the remaining datadir that I'm working on :

This is the kind of things I have found myself doing some times, as well
as some people on this list, and this enters in the category of horror
stories.

So the answer to the question "Can I work on a broken data folder and
save as much data as possible?" is "yes".  However this enters in the
field of dark magics as this requires advanced skills and knowledge of
PostgreSQL, including its internals, its folder structure, and ways to
bypass some protocols or even perhaps patch the upstream code to bypass
some checks to the data you are looking for...  Additionally, this is
usually a step-by-step and case-by-case problem.

Please note that data deleted is gone.  You may be able to get back some
data from the file system which has been deleted, though this requires a
special set of skills and luck.  Hiring a professional is recommended
for such operations.
--
Michael

Attachment