This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
how_to:repairing_corrupted_database [2022/08/01 17:30] – [Repairing corrupted database] paul | how_to:repairing_corrupted_database [2024/01/15 11:35] (current) – paul | ||
---|---|---|---|
Line 65: | Line 65: | ||
badid INT; | badid INT; | ||
begin | begin | ||
+ | DROP TABLE IF EXISTS badids; | ||
+ | CREATE TEMP TABLE badids (msgdataid BIGINT); | ||
FOR badid IN SELECT msgdataid FROM messages.msgdata ORDER BY msgdataid LOOP | FOR badid IN SELECT msgdataid FROM messages.msgdata ORDER BY msgdataid LOOP | ||
curid = curid + 1; | curid = curid + 1; | ||
Line 77: | Line 79: | ||
exception | exception | ||
when others then | when others then | ||
+ | INSERT INTO badids (msgdataid) VALUES(badid); | ||
raise notice 'data for message % is corrupt', | raise notice 'data for message % is corrupt', | ||
continue; | continue; | ||
Line 86: | Line 89: | ||
This will read all the messages from the database, and tell you which message(s) it encountered an error with | This will read all the messages from the database, and tell you which message(s) it encountered an error with | ||
+ | |||
+ | However, sometimes it won't find all problem messages, so it is a good idea to run it again after fixing any problems, until this script doesn' | ||
+ | |||
+ | This script stores the bad message IDs in a temporary table called ' | ||
===Getting message summary info=== | ===Getting message summary info=== |