TRUNCATE

TRUNCATE removes all rows from a table.

It is functionally identical to running a DELETE statement without a WHERE clause.

Permissions

The role must have the DELETE permission at the table level.

Syntax

truncate_table_statement ::=
    TRUNCATE [ TABLE ] [schema_name.]table_name
        [ RESTART IDENTITY | CONTINUE IDENTITY ]
    ;

table_name ::= identifier

schema_name ::= identifier

Parameters

Parameter Description
schema_name The name of the schema for the table.
table_name The name of the table to truncate.
RESTART IDENTITY Automatically restart sequences owned by columns of the truncated table.
CONTINUE IDENTITY Do not change the values of sequences. This is the default.

Examples

Truncating a table

farm=> SELECT * FROM cool_animals;
1,Dog                 ,7
2,Possum              ,3
3,Cat                 ,5
4,Elephant            ,6500
5,Rhinoceros          ,2100
6,\N,\N

6 rows

farm=> TRUNCATE TABLE cool_animals;
executed

farm=> SELECT * FROM cool_animals;

0 rows