すべてのプロダクト
Search
ドキュメントセンター

Hologres:TRUNCATE

最終更新日:Jun 18, 2025

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;