]説明TRUNCATEはテーブル群から全ての行を素早く削除します。各テーブルに対して条件指定のないDELETEコマンドの実行と同じ効果を持ちますが、実際にテーブルを走査しない分、このコマンドの方が高速です。その後にVACUUM操作を行うことなく、このコマンドはディスク領域を即座に回収します。このコマンドは、大きなテーブルを対象とする場合に最も有用です。パラメータname空にするテーブルの名前です(スキーマ修飾名も可)。テーブル名の前にONLYが指定されている場合、そのテーブルのみを空にします。ONLYが指定されていない場合、そのテーブルとそのすべての子テーブル(もしあれば)を空にします。オプションで、テーブル名の後に*を指定することで、明示的に継承するテーブルも含まれることを示すことができます。IDENTITY消去されるテーブルの列により所有されるシーケンスを自動的に再開始させます。IDENTITYシーケンスの値を変更しません。これがデフォルトです。CASCADE指定されたテーブル、または、CASCADEにより削除対象テーブルとされたテーブルを参照する外部キーを持つテーブルすべてを自動的に空にします。RESTRICT外部キーにより対象のテーブルを参照するテーブルのいずれかがこのコマンドで指定されていない場合、操作を拒否します。これがデフォルトです。注釈テーブルを空にするためにはそのテーブルにTRUNCATE権限を持たなければなりません。EXCLUSIVEロックを獲得します。これは、この他のそのテーブルに対する同時操作をすべてブロックします。IDENTITYが指定された場合、初期化対象のシーケンスがあると、それは同様に排他ロックされます。DELETEコマンドを使用しなければなりません。そのテーブルが他のテーブルから外部キーで参照されている場合、TRUNCATEでそれらのテーブルをすべて空にするように指定していない限り、TRUNCATEを使用することはできません。このような場合に有効性を検査するならばテーブルスキャンが必要になりますが、テーブルスキャンを行うのであれば、このコマンドの利点がなくなるからです。CASCADEを使用して、自動的にすべての依存テーブルを含めることができます。意図しないデータ損失の可能性がありますので、このオプションを使用する時には十分に注意してください。DELETEトリガがあっても、それを発行しません。TRUNCATEトリガを発行します。TRUNCATEトリガが発行されます。TRUNCATEトリガが発行されます。トリガは処理されるテーブルの順番(コマンドに列挙されたものが先、その後にカスケードのために追加されたもの)に発行されます。TRUNCATEはMVCC的に安全ではありません。同時実行中のトランザクションが、削除の前に取得したスナップショットを使っている場合、削除の後、テーブルはそのトランザクションからは空に見えます。(詳しくは第13章を参照してください。)テーブル内のデータという観点では、TRUNCATEはトランザクション的に安全です。前後のトランザクションがコミットされなければ消去は安全にロールバックされます。RESTART操作がトランザクション的に行われます。それを囲むトランザクションがコミットされなければ、ロールバックされます。RESTARTとは異なる動作です。トランザクションがロールバックされる前に、初期化したシーケンスに対してさらにシーケンス操作を行う場合には注意してください。シーケンスに対するこれらの操作の影響はロールバックされますが、currval()への影響はロールバックされません。トランザクションの後、currval()は、シーケンス自体と値とが一貫性のない状態になっていたとしても、失敗したトランザクションの内側で得た最後のシーケンス値を継続して反映します。これは、失敗したトランザクションの後のcurrval()の通常の動作と同じです。現在のところ、TRUNCATEは外部テーブルに対してはサポートされません。このため、指定のテーブルの子孫に外部テーブルがあった場合、コマンドは失敗します。例bigtableテーブルおよびfattableテーブルを空にします。fattable;以下も同じですが、ここでは関連するシーケンスジェネレータをすべてリセットします。IDENTITY;othertableテーブル、および、外部キー制約によりothertableを参照するすべてのテーブルを空にします。tablenameという構文のTRUNCATEコマンドが含まれます。IDENTITY句も標準に記載され、関連してはいるのですが、若干異なります。標準では、このコマンドの同時実行に関する動作の一部は実装に依存するものとされています。このため、上記注釈を検討し、必要に応じて他の実装と比べなければなりません。