Восстановление данных postgresql после обновления нескольких строк

Я пытаюсь восстановить данные, потерянные при неправильном запросе на обновление, используя инструмент xlog и pg_xlogdump.

Запрос был следующий:
обновить набор таблиц column1 =21, где column2 > column3 ( 1 условие было пропущено, поэтому было обновлено больше строк)

Пример 1 записи обновления показан ниже. Он начинается с 1 строки обновления и 5 строк вставки. Интересно, есть ли способ найти номер, замененный на 21?

1) Первая строка (обновление) rel 1663/5880305/5880686 показывает именно ту таблицу, которую я ищу (oid таблицы 5880305 и oid таблицы 5880686) Также у меня есть старая резервная копия и строка с кортежем 47275/8 там же строка, которая была обновлена, с новым кортежем в обновленной версии (новый tid: 293804/16)

2) 4-я строка показывает обновление столбца 1 (11996103 - это столбец этого столбца), однако я не знаю, как найти кортеж 302/164 и как восстановить потерянное число

Заранее спасибо.

rmgr: Heap        len (rec/tot):    163/  8391, tx:  692554090, lsn: 115/73F1D288, prev 115/73F1D240, bkp: 1000, desc: update: rel 1663/5880305/5880686; tid 47275/8 xmax 692554090 ; new tid 293804/16 xmax 0
backup bkp #0; rel 1663/5880305/5880686; fork: main; block: 47275; hole: offset: 228, length: 20

rmgr: Btree       len (rec/tot):     34/    66, tx:  692554090, lsn: 115/73F1F368, prev 115/73F1D288, bkp: 0000, desc: insert: rel 1663/5880305/11995979; tid 6587/293

rmgr: Btree       len (rec/tot):     34/    66, tx:  692554090, lsn: 115/73F1F3B0, prev 115/73F1F368, bkp: 0000, desc: insert: rel 1663/5880305/11996093; tid 6587/292

rmgr: Btree       len (rec/tot):     34/    66, tx:  692554090, lsn: 115/73F1F3F8, prev 115/73F1F3B0, bkp: 0000, desc: insert: rel 1663/5880305/11996103; tid 302/164

rmgr: Btree       len (rec/tot):     34/    66, tx:  692554090, lsn: 115/73F1F440, prev 115/73F1F3F8, bkp: 0000, desc: insert: rel 1663/5880305/11996135; tid 43502/2

rmgr: Btree       len (rec/tot):     34/    66, tx:  692554090, lsn: 115/73F1F488, prev 115/73F1F440, bkp: 0000, desc: insert: rel 1663/5880305/11996136; tid 1/2

1 ответ

Если вы заархивировали свои файлы журналов, просто перейдите к восстановлению на определенный момент времени, иначе это будет очень сложно

Другие вопросы по тегам