Обсуждение: Data Corruptions (How to delete a corrupted row?)

Поиск
Список
Период
Сортировка

Data Corruptions (How to delete a corrupted row?)

От
Massoud
Дата:
Hello,

I am running PostgreSQL v7.2.1 under RedHat 7.3.

I have a database of three or four tables with several
million records.

I have been getting minor (repairable) data corruption on a
regular basis.  This is where some field's contents get
partially changed to funny characters.

Until yesterday, I was able to access those rows and delete
those records.

The data corruption has gotten so bad that I no longer can
access certain records. Therefore it fails most of my
production operations.  Also the vacuum keeps failing now.

Vacuum Error Message:
----------------------------------------------
NOTICE:  Analyzing pg_rewrite
NOTICE:  --Relation urls--
ERROR:  XLogFlush: request 16/E6B686EC is not satisfied ---

flushed only to 16/E6B680E4
vacuumdb: vacuum  xxxxxx failed
----------------------------------------------


PG_DUMP Error Message
----------------------------------------------
pg_dump xxxxx > backup/xxxxxx-072102.sql
pg_dump: ERROR:  MemoryContextAlloc: invalid request size
1919435556
pg_dump: lost synchronization with server, resetting
connection
pg_dump: SQL command to dump the contents of table "test"
failed: PQendcopy() failed.
pg_dump: Error message from server: pg_dump: The command
was: COPY "docs" TO stdout;
----------------------------------------------

As far as the size of my database is concerned, it is well
below 1Gig.

I seriously considering downgrading to lower release of
postgres.

Thanks,
Massoud

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com

Re: Data Corruptions (How to delete a corrupted row?)

От
Jan Wieck
Дата:
Massoud wrote:

> I seriously considering downgrading to lower release of
> postgres.

You better seriously consider checking your hardware. Search the mail
archives of the past 3-4 weeks for similar reports. Those symptoms
usually indicate bad memory, disk or controller.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Re: Data Corruptions (How to delete a corrupted row?)

От
"omid omoomi"
Дата:
hi,
have you tried to break down your large tables into some smaller ones in
order to manage the corrupted rows?
I mean doing such as :

create table test_1 as select * from test limit 100000;
create table test_2 as select * from test limit 100000 offset 100000;
create table test_3 as select * from test limit 100000 offset 200000;
create table test_4 as select * from test limit 100000 offset 300000;
.
.
.

This way you might face less problem fixing the corrupted rows .then join
the small tables again. ;)

I am not sure about your case but it might also be possible to use the COPY
command to make a text file and then to repair it.

Regards
Omid Omoomi



>From: Massoud <footballist@yahoo.com>
>To: pgsql-general@postgresql.org
>Subject: [GENERAL] Data Corruptions (How to delete a corrupted row?)
>Date: Wed, 24 Jul 2002 10:50:11 -0700 (PDT)
>
>Hello,
>
>I am running PostgreSQL v7.2.1 under RedHat 7.3.
>
>I have a database of three or four tables with several
>million records.
>
>I have been getting minor (repairable) data corruption on a
>regular basis.  This is where some field's contents get
>partially changed to funny characters.
>
>Until yesterday, I was able to access those rows and delete
>those records.
>
>The data corruption has gotten so bad that I no longer can
>access certain records. Therefore it fails most of my
>production operations.  Also the vacuum keeps failing now.
>
>Vacuum Error Message:
>----------------------------------------------
>NOTICE:  Analyzing pg_rewrite
>NOTICE:  --Relation urls--
>ERROR:  XLogFlush: request 16/E6B686EC is not satisfied ---
>
>flushed only to 16/E6B680E4
>vacuumdb: vacuum  xxxxxx failed
>----------------------------------------------
>
>
>PG_DUMP Error Message
>----------------------------------------------
>pg_dump xxxxx > backup/xxxxxx-072102.sql
>pg_dump: ERROR:  MemoryContextAlloc: invalid request size
>1919435556
>pg_dump: lost synchronization with server, resetting
>connection
>pg_dump: SQL command to dump the contents of table "test"
>failed: PQendcopy() failed.
>pg_dump: Error message from server: pg_dump: The command
>was: COPY "docs" TO stdout;
>----------------------------------------------
>
>As far as the size of my database is concerned, it is well
>below 1Gig.
>
>I seriously considering downgrading to lower release of
>postgres.
>
>Thanks,
>Massoud
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! Health - Feel better, live better
>http://health.yahoo.com
>
>---------------------------(end of broadcast)---------------------------
>TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)




_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com