![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Well, on an old 7.4 postgres the vacuum failed for some time without us noticing it, and now some data is hidden because the XID wrapped. We would like to recover these data, and we plan to do this : - first, vacuum freeze to freeze all but future XID - then, artificially advance current XID by executing 1G times "begin;end;". - then, vacuum freeze again - again, advance current XID by 1G and vacuum freeze. As I understand it, we should then have recovered all rows that were in future. What do you think of this plan ? Also, why am I unable to find a command that freeze _all_ rows which XID is >=3 ? This would be helpfull in cases like this. But maybe I misunderstand how XID works ? |
![]() |
| Thread Tools | |
| Display Modes | |
| |