Re: Rescue data after power off

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: Jayadevan M <Jayadevan(dot)Maymala(at)ibsplc(dot)com>
Cc: tuanhoanganh <hatuan05(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Rescue data after power off
Date: 2010-07-19 14:36:42
Message-ID: 4C4462FA.7040306@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 19/07/10 19:02, Jayadevan M wrote:
>> Yesterday my server is power off, when i start server, some of table is
> blank. Is there anyway to rescue it.
> The "Power Off" - is it a planned/regular one? If yes, it makes sense to
> have a normal shutdown of the database before the "Power Off".

... but even if you yank the power plug out of the back of the server,
PostgreSQL should *NEVER* lose comitted data (unless you've told it its
allowed to with a commit delay) and should certainly NEVER damage the
database structure. It's one of PostgreSQL's most important and basic
features.

Unless you have set "fsync=off" in postgresl.conf, in which case the
data loss is entirely your own fault, this should not happen. If you do
not know if fsync is on or off, check by running "SHOW fsync;" in psql
or PgAdmin. It should say "on". If it says "off" then you or someone
else manually told the database not to try to protect your data from
power loss or other failures.

If you have lost data and fsync is on, then most likely your RAID
controller/disks are doing something they should not be like caching
writes in volatile storage. Make sure your RAID controller has write
caching disabled or has a tested and working battery backup unit. If in
doubt, your raid controller should have its write cache turned off, ie
it should be in "write-through" mode and NOT in "write-back" mode.

--
Craig Ringer

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Ringer 2010-07-19 14:45:16 Re: Rescue data after power off
Previous Message Sam Mason 2010-07-19 14:13:16 Re: pg_dump and --inserts / --column-inserts