Removes all storage associated with a table, while leaving the table definition intact. TRUNCATE TABLE auto-commits the current transaction after statement execution and cannot be rolled back.

TRUNCATE TABLE removes all table history preceding the current epoch, regardless of where that data resides (WOS or ROS) or how it is segmented. Immediately after TRUNCATE TABLE returns, AT EPOCH queries on the truncated table return nothing.


TRUNCATE TABLE [[database.]schema.]table‑name 



Specifies a schema, by default public. If schema is any schema other than public, you must supply the schema name. For example:


If you specify a database, it must be the current database.


The name of the anchor table or temporary table to truncate. You cannot truncate an external table.


One of the following privileges is required:

  • Superuser
  • Table owner
  • User with USAGE privileges on the table's schema—see GRANT (Schema)

A schema owner can drop a table but cannot truncate a table.


See Truncating Tables in the Administrator's Guide.