Provided by: postgresql-client-8.2_8.2.7-1_i386 bug

NAME

       TRUNCATE - empty a table or set of tables

SYNOPSIS

       TRUNCATE [ TABLE ] name [, ...] [ CASCADE | RESTRICT ]

DESCRIPTION

       TRUNCATE quickly removes all rows from a set of tables. It has the same
       effect as an unqualified DELETE on each table, but since  it  does  not
       actually  scan  the  tables  it is faster. This is most useful on large
       tables.

PARAMETERS

       name   The  name  (optionally  schema-qualified)  of  a  table  to   be
              truncated.

       CASCADE
              Automatically   truncate   all   tables  that  have  foreign-key
              references to any of the named tables, or to any tables added to
              the group due to CASCADE.

       RESTRICT
              Refuse  to  truncate  if  any  of  the  tables  have foreign-key
              references from tables that are not to be truncated. This is the
              default.

NOTES

       Only the owner of a table may TRUNCATE it.

       TRUNCATE cannot be used on a table that has foreign-key references from
       other tables, unless all such tables are also  truncated  in  the  same
       command. Checking validity in such cases would require table scans, and
       the whole point is not to do one. The CASCADE option  can  be  used  to
       automatically  include  all dependent tables — but be very careful when
       using this option, else you might lose data you did not intend to!

       TRUNCATE will not run any user-defined ON DELETE  triggers  that  might
       exist for the tables.

EXAMPLES

       Truncate the tables bigtable and fattable:

       TRUNCATE TABLE bigtable, fattable;

       Truncate  the  table  othertable,  and  cascade  to any tables that are
       referencing othertable via foreign-key constraints:

       TRUNCATE othertable CASCADE;

COMPATIBILITY

       There is no TRUNCATE command in the SQL standard.