PostgreSQL: sentencia TRUNCATE TABLE

[*] Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

PostgreSQL: sentencia TRUNCATE TABLE

Este tutorial de PostgreSQL explica cómo usar PostgreSQL sentencia TRUNCATE TABLE Con sintaxis y ejemplos.

describir

La declaración TRUNCATE TABLE se usa para eliminar todos los registros de una tabla o conjunto de tablas en PostgreSQL. Realiza la misma función que la instrucción DELETE sin la cláusula WHERE.

advertir: si se trunca una tabla, la instrucción TRUNCATE TABLE no se puede revertir a menos que se encuentre en una transacción que aún no se haya confirmado.

sintaxis

La sintaxis de la instrucción TRUNCATE TABLE en PostgreSQL es:

TRUNCATE [TABLE] [ONLY] [schema_name.]table_name [*] [, ...]
  [ RESTART IDENTITY | CONTINUE IDENTITY ]
  [ CASCADE | RESTRICT] ;

parámetro o parámetro

La mesa es opcional. El comportamiento de la instrucción truncada es idéntico tanto si especifica TABLE como si no. Solo opcional. Si se especifica, solo se truncarán los table_names enumerados. Si no se especifica, table_name y todos los descendientes se truncarán. schema_name El nombre del esquema al que pertenece la tabla. table_name La tabla a truncar. table_name La tabla a truncar. * Electivo. Si se especifica, table_name y todos los descendientes se truncarán. Reiniciar la identidad es opcional. Si se especifica, restablece todas las secuencias en la tabla truncada. La continuación de la identidad es opcional. Si se especifica, todas las secuencias de la tabla truncada continuarán sin restablecerse. Este es el comportamiento predeterminado. La conexión en cascada es opcional. Si se especifica, también se truncarán todas las tablas con referencias de clave externa a table_name. Las restricciones son opcionales. Si se especifica, todas las tablas con referencias de clave externa a table_name no se truncarán a menos que se incluyan en la instrucción TRUNCATE TABLE. Este es el comportamiento predeterminado.

notas

  • Debe tener los permisos necesarios, como TRUNCATE, antes de truncar la tabla.
  • Los activadores DELETE para tablas no se activan durante el truncamiento.
  • No puede truncar una tabla a la que hace referencia una clave externa a menos que todas las tablas en la relación de clave externa estén enumeradas en el comando TRUNCATE.
  • Todo el almacenamiento de filas truncadas se recupera sin necesidad de VACÍO.

ejemplo

En PostgreSQL, truncar una tabla es una forma rápida de purgar registros de una tabla porque no requiere escanear la tabla. También es mucho más fácil truncar una tabla que soltarla y volver a crearla.

Veamos un ejemplo de cómo usar la instrucción TRUNCATE TABLE en PostgreSQL.

Por ejemplo:

TRUNCATE ONLY products;

Este ejemplo trunca la tabla denominada productos y elimina todos los registros de esa tabla.

Es equivalente a la siguiente instrucción DELETE en PostgreSQL:

DELETE FROM products;

Ambas declaraciones harán que se eliminen todos los datos de la tabla de productos y no se truncará ningún descendiente debido al uso de la palabra clave ONLY en el comando TRUNCATE. Siempre es más seguro especificar la ÚNICA palabra clave para no truncar accidentalmente la posdata.

varias mesas

A continuación, veamos cómo truncar varias tablas a la vez.

Por ejemplo:

TRUNCATE ONLY products, inventory;

Este ejemplo trunca las tablas denominadas productos e inventario. Una vez más, hemos incluido la palabra clave ÚNICA, por lo que la representación posterior no se trunca.

restablecer columna de identidad

De forma predeterminada, cuando trunca una tabla, la columna de identidad continúa numerándose desde donde se quedó. Puede decirle a PostgreSQL que restablezca automáticamente todas las columnas de identidad cuando una tabla se trunca al incluir la cláusula RESTART IDENTITY.

Por ejemplo:

TRUNCATE ONLY inventory
RESTART IDENTITY;

En este ejemplo, la columna de identidad de la tabla de inventario se restablece a su valor original. Esto es útil si tiene un campo de clave principal que desea comenzar de nuevo en 1.

(Visited 4 times, 1 visits today)