Re: Unlinked files in PGDATA/base following unclean shutdown

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jack Orenstein <jack(dot)orenstein(at)hds(dot)com>
Cc: pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Unlinked files in PGDATA/base following unclean shutdown
Date: 2008-08-08 20:42:16
Message-ID: 17766.1218228136@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Jack Orenstein <jack(dot)orenstein(at)hds(dot)com> writes:
> Our application is running Postgres 7.4, (working on conversion to 8.3
> right now). Our testing involves various forms of violence, including
> shutting off power and kill -9 postmaster.

Do you have reason to trust either your kernel or your disk drives under
such abuse? In general I'd bet on the drives being at fault a lot
sooner than any other part of the food chain. Complete disappearance of
files that should be there is a fault at the filesystem level or lower,
anyway.

> The question is how to check for consistency in the case of
> large tables, which are split into multiple segments, (e.g. 123456.1,
> 123456.2). I.e., how can I find out how many segments there should be?

The kernel-defined EOF is the truth, the whole truth, and nothing but
the truth. There is no other authority.

All segments before the last one should be exactly 1GB, but the last
one can be anything up to that. Consult the comments in md.c for
more details. (I think 7.4 may treat some corner cases differently
from 8.3 anyway.)

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Copeland 2008-08-08 20:49:26 ALTER ROLE role-name-with-hyphen
Previous Message Kevin Murphy 2008-08-08 18:59:39 Re: How to use postgresql-jdbc rpm with Sun JDK