From: Tom Lane <tgl@sss.pgh.pa.us>
To: Richard Neill <postgresql@richardneill.org>
Cc: pgsql-admin@postgresql.org
Subject: Re: Fixing OID directory names after a fsck
Date: Mon, 11 Sep 2017 18:09:12 -0400
Message-ID: <6898.1505167752@sss.pgh.pa.us> (raw)
In-Reply-To: <7d85cf2a-db3b-b1dd-4646-396a8068a375@richardneill.org>
References: <7d85cf2a-db3b-b1dd-4646-396a8068a375@richardneill.org>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-admin>
Richard Neill <postgresql@richardneill.org> writes:
> Our virtual server (running 9.4) suffered a disk corruption outage due
> to a flaky SAN. As a result, all the contents of /var/lib/postgresql
> ended up (along with lots of other things) in lost+found with names like
> #1835289.
> By looking for directories containing PG_VERSION (and checking the
> version number), I found 9 directories named like:
> ./#1835987/PG_VERSION. These look similar to other top-level dirs within
> main/base, and "strings" shows contents that does indeed look like I've
> identified the right thing.
> So, I made a clean install of Postgres 9.4 on a new machine (Ubuntu
> 17.04), and copied the directories into
> /var/lib/postgresql/9.4/main/base. I now have:
> root@treacle:/var/lib/postgresql/9.4/main/base# ls
> 1 12172 12177 16384 1828647 1835009 1835289 1835317 1835987
> 1843977 1844229 1844901 1958920
> where the first 3 directories are the system defaults, 16384 is a test
> that I created, and 1828647 - 1958920 are the recovered top-level
> database directories (but with the wrong names). However, Postgresql
> doesn't recognise them.
This is unlikely to work unless you can also recover the pg_clog
contents, which unfortunately might be pretty difficult to identify.
(In any case, putting the cluster back into production is way too
scary. If you can start it, with autovacuum off, and dump the data,
I'd recommend doing that and reloading.)
regards, tom lane
--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: tgl@sss.pgh.pa.us, postgresql@richardneill.org
Subject: Re: Fixing OID directory names after a fsck
In-Reply-To: <6898.1505167752@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox