私のpostgesqlデータベースでは、残念ながらこのテーブルを切り捨てましmail_group
た.テーブルはデータベースから削除されました.このテーブルを取り戻す方法.
親切に私を助けてください、返事を待っています。
ありがとう
私のpostgesqlデータベースでは、残念ながらこのテーブルを切り捨てましmail_group
た.テーブルはデータベースから削除されました.このテーブルを取り戻す方法.
親切に私を助けてください、返事を待っています。
ありがとう
同じ状況にある他の人:すぐにデータベースを停止しpg_ctl stop -m immediate
(これimmediate
は重要です。クラッシュをシミュレートしてチェックポイントを防ぐ必要があります)、再起動しないでください。. 並行トランザクションがまだ進行中の場合は、本当に幸運で、PostgreSQL がまだテーブルのバッキング ファイルのリンクを解除していない可能性があるため、回復できる可能性があります。
データを削除したため、おそらくデータを元に戻すことはできません。バックアップから復元します。
通常DELETE
の PostgreSQL では、行が削除済みとしてマークされますが、実際にはデータがすぐに消去されるわけではないため、データベースをすぐに停止し、テーブルに他に何も書き込まなければ、多くの場合回復できます。
の場合はそうではありませんTRUNCATE
。TRUNCATE
データベース テーブルを表す基本ファイルをファイル システムから削除します。
可能であれば、データを回復するには、ハード ドライブのフォレンジック分析が必要です。データが本当に重要な場合は、今すぐコンピュータの電源を切り、ハード ドライブのディスク イメージを作成してください。(a) ファイルシステムの内部と (b) PostgreSQL の内部の両方を知っている人が必要になるため、復旧作業には数千ドルかかると予想してください。この種の作業に必要な時間に対して、おそらく 5000 ユーロから 10000 ユーロの費用がかかると思われます。(それは私ではありません)。
バックアップがない場合は、非常に高価な教訓を学んだだけです。
他の誰かがこれと d 行を読んでいる場合は、最初の回復手順は同じであるため、DELETE
すぐに破損の指示に従ってください。実行した場合、これは役に立ちませんTRUNCATE
。