On 07/11/2016 13:12, Albe Laurenz wrote:
Howard News wrote:
I have a raid catastrophe which has effectively blitzed a cluster data
directory. I have several pg_dump backups but these will not restore
cleanly. I assume the disk has been failing for some time and the
backups are of the corrupted database.
Using a selective pg_restore on the dumps, I have restored 2/3rds of the
data but some tables I cannot recover directly, so I would like to see
if it is possible to examine the dumps (they are in compressed format)
to see if there are any rows which are recoverable. I do not know how or
if it is even possible to pick out rows from an individual table, when
in all likelyhood the file itself is corrupted.
I also have some parts of the data directory, so the tables may be
accessible if I know the ID of the corrupt datatables. Is the ID listed
in the pg_dump --list file? And can the data be extracted from the raw
data files without running a cluster. I am unsure if there is enough
data to actually start a cluster.
A backup created with pg_dump consists of SQL statements to recreate the
objects.
You can extract the SQL statements as text with
pg_restore -f sqlfile backupfilename
That should help you with restoring the data.
What exactly do you mean by "do not restore cleanly"?
Do you get error messages or is the content not ok?
Yours,
Laurenz Albe
Hi Laurenz,
Yes I get errors when trying to restore. When I try to restore to an
uncompressed file as suggested, I get the same errors - or the
pg_restore crashes.
e.g. in the console I get the following...
...
pg_restore: executing SEQUENCE SET example_seq
pg_restore: processing data for table example_table
pg_restore: [compress_io]
** crash **
If I selectively restore I have about 10 tables that do not recover, and
all of the Blobs.
Howard.
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general