PostgreSQL TRUNCATE TABLE
PostgreSQLでは、TRUNCATE TABLEはテーブルのデータを削除するために使用されますが、テーブル構造は削除しません。
DROP TABLE を使用してテーブルを削除することもできますが、このコマンドはテーブル構造も一緒に削除します。データを挿入したい場合は、このテーブルを再作成する必要があります。
TRUNCATE TABLE は DELETE と同じ効果がありますが、実際にはテーブルをスキャンしないため、より高速です。さらに、TRUNCATE TABLE は後続の VACUUM 操作を必要とせずにテーブルスペースを即座に解放できるため、大規模なテーブルで非常に役立ちます。PostgreSQL VACUUM 操作は、更新/削除された行が占有するディスク領域を解放・再利用するために使用されます。
構文
TRUNCATE TABLE の基本構文は次のとおりです。
TRUNCATE TABLE table_name;
実例
COMPANY テーブルを作成します(COMPANY SQL ファイルをダウンロード)。データ内容は次のとおりです。
サンプルdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
次の例では、TRUNCATE TABLE を使用して COMPANY テーブルをクリアします。
サンプルdb=# TRUNCATE TABLE COMPANY;
結果は次のとおりです。
サンプルdb=# SELECT * FROM CUSTOMERS; id | name | age | address | salary ----+------+-----+---------+-------- (0 rows)その他の拡張