我对postgres表做了一些更改,希望将其还原回以前的状态。数据库没有备份。有办法吗?如中所述,Postgres是否会自动拍摄快照并将其存储在某个地方,或者原始数据将永远丢失?
最佳答案
默认情况下,PostgreSQL不会存储所有的旧数据——这当然会让很多人感到惊讶。但是,它有一个内置的Point-in-time Recovery机制,它几乎完全符合您的要求。您必须保留一个“预写日志文件”的存档,它表示对数据库所做的更改,并且您可以定期进行基本备份。当您想要恢复时,您可以恢复到特定的时间,甚至特定的事务id。