Команда PostgreSQL TRUNCATE TABLE используется для удаления полных данных из существующей таблицы. Вы также можете использовать команду DROP TABLE для удаления полной таблицы, но это приведет к удалению полной структуры таблицы из базы данных, и вам потребуется заново создать эту таблицу, если вы хотите сохранить некоторые данные.
Он имеет тот же эффект, что и DELETE для каждой таблицы, но поскольку он фактически не сканирует таблицы, он работает быстрее. Кроме того, он немедленно восстанавливает дисковое пространство, а не требует последующей операции VACUUM. Это наиболее полезно на больших столах.
Синтаксис
Основной синтаксис TRUNCATE TABLE следующий:
TRUNCATE TABLE table_name;
пример
Предположим, что таблица COMPANY содержит следующие записи:
id | name | age | address | salary ----+-------+-----+------------+-------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall | 45000 7 | James | 24 | Houston | 10000 (7 rows)
Ниже приведен пример усечения —
testdb=# TRUNCATE TABLE COMPANY;
Теперь таблица COMPANY усекается, и следующим будет вывод оператора SELECT —