PostgreSQL TRUNCATE TABLE
En PostgreSQL, TRUNCATE TABLE se utiliza para eliminar los datos de una tabla, pero no elimina la estructura de la tabla.
También se puede usar DROP TABLE para eliminar la tabla, pero este comando elimina junto con la estructura de la tabla. Si se desea insertar datos, es necesario recrear la tabla.
TRUNCATE TABLE tiene el mismo efecto que DELETE, pero como en realidad no escanea la tabla, es más rápido. Además, TRUNCATE TABLE puede liberar espacio en la tabla inmediatamente, sin necesidad de una operación VACUUM posterior, lo cual es muy útil en tablas grandes.La operación VACUUM de PostgreSQL se utiliza para liberar y reutilizar el espacio en disco ocupado por las filas actualizadas/eliminadas.
Sintaxis
La sintaxis básica de TRUNCATE TABLE es la siguiente:
TRUNCATE TABLE table_name;
Ejemplo
Crear la tabla COMPANY (Descargar el archivo SQL de COMPANY), los datos son los siguientes:
ejemplodb# select * from 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)
El siguiente ejemplo utiliza TRUNCATE TABLE para limpiar la tabla COMPANY:
ejemplodb=# TRUNCATE TABLE COMPANY;
El resultado obtenido es el siguiente:
ejemplodb=# SELECT * FROM CUSTOMERS; id | name | age | address | salary ----+------+-----+---------+-------- (0 rows)Otras extensiones