From: | "Jeff MacDonald" <jeff(at)interchange(dot)ca> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: ran an update outside of transaction, can i roll it back in anyway ? |
Date: | 2003-04-17 17:16:51 |
Message-ID: | FJENKCLABGGBKBDGHOJJOEOECAAA.jeff@interchange.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Thanks Tom,
I think your first question was the most helpful "how desperate am i" ?
Not "terribly", if a tool existed I'd likly use that, but I think i can
recover the data by hand quicker than i can by delving into the pg*
files, as they present a significant learning curve.. [that i don't have
time for at the moment ;)]
thanks tho.
jeff.
>> -----Original Message-----
>> From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
>> Sent: Thursday, April 17, 2003 12:29 PM
>> To: Jeff MacDonald
>> Cc: pgsql-general(at)postgresql(dot)org
>> Subject: Re: [GENERAL] ran an update outside of transaction, can i roll
>> it back in anyway ?
>>
>>
>> "Jeff MacDonald" <jeff(at)interchange(dot)ca> writes:
>> > This morning in a sleepy daze I typed
>> > UPDATE boo SET foo = 6;
>> > at the psql console. i meant to type
>> > UPDATE boo SET foo = 6 WHERE x = 10;
>> > I did not have this in a transaction, and have not vacuumed since
>> > I pressed enter.
>>
>> > Is there anyway that I can retrieve this data ?
>>
>> How desperate are you? You could theoretically go into pg_clog and mark
>> the updating transaction aborted instead of committed (you'd have to
>> find out its number first, but you could look in the boo table for
>> that). Then go through boo to clear the known-committed bits from any
>> tuples touched by the update that have already been examined and marked
>> known-committed.
>>
>> AFAIK there aren't tools in existence for either of these tasks,
>> unfortunately. It'd probably be possible to modify pg_filedump to do
>> the commit-bit update, and the pg_clog change is a one-byte change that
>> could be done by hand if you're not afraid of bit-level editing. I'd
>> definitely recommend making a file-level backup copy of the database so
>> you can try again if you mess up, though ;-). Also, do NOT try
>> modifying files from external tools while the postmaster is running.
>> Shut down, hack, restart.
>>
>> As long as you don't vacuum the boo table, it won't be too late to
>> recover. Better turn off any cron-driven vacuuming you might have set
>> up.
>>
>> regards, tom lane
>>
From | Date | Subject | |
---|---|---|---|
Next Message | Cris | 2003-04-17 18:10:52 | Table as a column |
Previous Message | Alec Mitchell | 2003-04-17 17:12:19 | Re: Strange query optimization in 7.3.2 |