TRUNCATE 文は、テーブルからデータをクリアするために使用されます。このトピックでは、Hologres での TRUNCATE 構文について説明します。
制限
TRUNCATE 文には、次の制限があります。
Hologres は Sequence をサポートしていますが、現在 CONTINUE IDENTITY のみをサポートしており、RESTART IDENTITY はサポートしていません。
Hologres は、標準テーブル、パーティション化された親テーブル、およびパーティション化された子テーブルで
TRUNCATE文の実行をサポートしています。Hologres は、外部テーブルで
TRUNCATE文の実行をサポートしていません。
構文
TRUNCATE の構文は次のとおりです。
TRUNCATE [ TABLE ] name [, ... ]
[CONTINUE IDENTITY ] CONTINUE IDENTITY パラメーターは、Sequence の現在の値を変更しません。
TRUNCATE文は、バイナリログの生成をサポートしていません。V3.1 より前のバージョンでは、
TRUNCATEは DDL 文です。バイナリロギングが有効になっているテーブルでTRUNCATE文を実行しても、エラーは報告されず、バイナリログは生成されません。V3.1 以降では、
TRUNCATEは DML 文に変更され、TRUNCATE操作が頻繁に行われるシナリオでの FE ノードへの負荷が効果的に軽減されます。バイナリロギングが有効になっているテーブルでTRUNCATE文を実行すると、エラーが報告されます。SET hg_experimental_generate_binlog = off;文を使用して、セッションレベルでバイナリロギングを無効にする必要があります。
例
TRUNCATE の使用例を次に示します。
例 1:
CREATE TABLE event ( id INT, name text, tag text ); INSERT INTO event (id,name,tag) values (23,'buy', 'num'); SELECT * FROM event; TRUNCATE TABLE event ;例 2:
CREATE TABLE event_1 ( id serial, name text, tag text ); INSERT INTO event_1 (name,tag) values ('buy', 'num'); SELECT * FROM event_1; #default is CONTINUE IDENTITY TRUNCATE TABLE event_1 CONTINUE IDENTITY;