2

私のpostgesqlデータベースでは、残念ながらこのテーブルを切り捨てましmail_groupた.テーブルはデータベースから削除されました.このテーブルを取り戻す方法.

親切に私を助けてください、返事を待っています。

ありがとう

4

1 に答える 1

2

同じ状況にある他の人:すぐにデータベースを停止しpg_ctl stop -m immediate(これimmediateは重要です。クラッシュをシミュレートしてチェックポイントを防ぐ必要があります)、再起動しないでください。. 並行トランザクションがまだ進行中の場合は、本当に幸運で、PostgreSQL がまだテーブルのバッキング ファイルのリンクを解除していない可能性があるため、回復できる可能性があります。


データを削除したため、おそらくデータを元に戻すことはできません。バックアップから復元します。

通常DELETEの PostgreSQL では、行が削除済みとしてマークされますが、実際にはデータがすぐに消去されるわけではないため、データベースをすぐに停止し、テーブルに他に何も書き込まなければ、多くの場合回復できます。

の場合はそうではありませんTRUNCATETRUNCATEデータベース テーブルを表す基本ファイルをファイル システムから削除します。

可能であれば、データを回復するには、ハード ドライブのフォレンジック分析が必要です。データが本当に重要な場合は、今すぐコンピュータの電源を切り、ハード ドライブのディスク イメージを作成してください。(a) ファイルシステムの内部と (b) PostgreSQL の内部の両方を知っている人が必要になるため、復旧作業には数千ドルかかると予想してください。この種の作業に必要な時間に対して、おそらく 5000 ユーロから 10000 ユーロの費用がかかると思われます。(それは私ではありません)。

バックアップがない場合は、非常に高価な教訓を学んだだけです。


他の誰かがこれと d 行を読んでいる場合は、最初の回復手順は同じであるため、DELETEすぐに破損の指示に従ってください。実行した場合、これは役に立ちませんTRUNCATE

于 2015-02-06T04:38:37.620 に答える