PostgreSQL TRUNCATE TABLE Statement
PostgreSQL TRUNCATE TABLE Statement
The PostgreSQL TRUNCATE TABLE statement is used to quickly remove all rows from a table, effectively resetting the table while preserving its structure. This statement is essential for efficiently clearing out large tables without the overhead of individual row deletions.
Syntax
TRUNCATE TABLE table_name [CASCADE | RESTRICT];
The TRUNCATE TABLE statement has the following components:
table_name: The name of the table to be truncated.CASCADE: Optional. Automatically truncates all tables that have foreign-key references to the truncated table.RESTRICT: Optional. Refuses to truncate the table if there are any foreign-key references to it. This is the default behavior.
Example PostgreSQL TRUNCATE TABLE Statement Queries
Let's look at some examples of PostgreSQL TRUNCATE TABLE statement queries:
1. Basic TRUNCATE TABLE Example
TRUNCATE TABLE employees;
This query removes all rows from the employees table.
2. TRUNCATE TABLE with CASCADE
TRUNCATE TABLE employees CASCADE;
This query removes all rows from the employees table and automatically truncates all tables that have foreign-key references to it.
3. TRUNCATE TABLE with RESTRICT
TRUNCATE TABLE employees RESTRICT;
This query removes all rows from the employees table only if there are no foreign-key references to it. This is the default behavior.
Full Example
Let's go through a complete example that includes creating a table, inserting data, and then truncating the table.
Step 1: Creating a Table
This step involves creating a new table named employees to store employee data.
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100)
);
In this example, we create a table named employees with columns for id, first_name, last_name, and email.

Step 2: Inserting Data into the Table
This step involves inserting some sample data into the employees table.
INSERT INTO employees (first_name, last_name, email)
VALUES ('John', 'Doe', 'john.doe@example.com');
INSERT INTO employees (first_name, last_name, email)
VALUES ('Jane', 'Smith', 'jane.smith@example.com');
Here, we insert data into the employees table, including values for the first_name, last_name, and email columns.

Step 3: Truncating the Table
This step involves removing all rows from the employees table.
TRUNCATE TABLE employees;
Here, we truncate the employees table, effectively removing all rows while preserving the table structure.

Conclusion
The PostgreSQL TRUNCATE TABLE statement is a fundamental tool for efficiently clearing out large tables. Understanding how to use the TRUNCATE TABLE statement and its syntax is essential for effective database management and maintenance in PostgreSQL.