このページは、SRA OSS, Inc. 日本支社日本 PostgreSQL ユーザ会 の公開する PostgreSQL 日本語マニュアル をミラーしたものです。 そのため、ページが最新でない場合や一部のリンクが正しく動作しない場合があります。 最新のページは http://www.postgresql.jp/document/pg812doc/html/sql-truncate.html から参照できます。

TRUNCATE

名前

TRUNCATE -- 1テーブルまたはテーブル群を空にする

概要

TRUNCATE [ TABLE ] name [, ...]

説明

TRUNCATEはテーブル群から全ての行を素早く削除します。 各テーブルに対して条件指定のないDELETEコマンドの実行と同じ効果を持ちますが、実際にテーブルを走査しない分、このコマンドの方が高速です。 このコマンドは、大きなテーブルを対象とする場合に最も有用です。

パラメータ

name

空にするテーブルの名前です(スキーマ修飾名も可)。

注釈

テーブルの所有者のみがTRUNCATEを行うことができます。

そのテーブルが他のテーブルから外部キーで参照されている場合、1つのTRUNCATEでそれらのテーブルをすべて空にするように指定していない限り、TRUNCATEを使用することはできません。 このような場合は、有効性を検査するためにテーブルスキャンが必要になりますが、テーブルスキャンを行うのであれば、このコマンドの利点がなくなるからです。

TRUNCATEは、テーブルに存在するユーザ定義のON DELETEトリガを一切実行しません。

bigtableテーブルおよびfattableテーブルを空にします。

TRUNCATE TABLE bigtable, fattable;

互換性

標準SQLにはTRUNCATEコマンドはありません。