2016-05-16 13 views

答えて

1

できません。ドキュメントを参照してください:http://www.postgresql.org/docs/9.1/static/sql-truncate.html

それは実際にそれが速くなり、テーブルをスキャンしませんので、それは各テーブルにDELETE修飾されていないが、 と同じ効果があります。さらに、 は、後で VACUUM操作を要求するのではなく、すぐにディスク領域を再要求します。これは大きなテーブルで最も便利です。

スペースがOSに返され、それが新しいデータによって占有される可能性など

+0

あなたが十分に必死ならば、標準の削除されたファイル回復テクニックを試みることができます。ファイルを修復できた場合は、カタログに「配管して戻す」ことができます。復元した分だけでなく、他のいくつかの考慮事項に応じて、ほとんどのファイルを読むことができます。 –

0

Tuncateは、データを削除するには、ファイルレベルの操作を使用しており、これは意味合いの数を持っています

  1. コミット時できない回復
  2. これはMVCCには安全ではありません。つまり、他の並行トランザクションは、古い行を参照できるようにするトランザクション分離レベルにもかかわらず、テーブルを空とみなします。

これは、基本的にバックアップから回復する必要があることを意味します。これは、バックアップがハードウェア障害以上のものであることを警告するのに最適なケースです。また、管理者のエラーが発生した場合(レプリケーションがバックアップでない理由もあります)

関連する問題