[Pgsql-ayuda] Truncate y Delete

Alvaro Herrera alvherre@dcc.uchile.cl
Thu, 23 Oct 2003 08:58:00 -0300


On Wed, Oct 22, 2003 at 10:38:29AM -0300, Carmen Gloria Sepulveda Dedes wrote:

> Quisiera saber que diferencia hay entre hacer un
> 
> delete from <table_name>;
> y
> truncate table <table_name>;

Creo que truncate no ejecuta los triggers que puedan haber en una tabla.
De hecho creo que en 7.4 no puedes hacer truncate de una tabla que es
referida en una llave foránea.

> Entiendo que despues del delete es conveniente
> hacer un vacuum ya que las filas no son eliminadas
> del archivo sino que son marcadas como "obsoletas".
> En el caso de truncate, tambien es necesario??? o
> aqui si se elimina completamente la data??

No es necesario.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"At least to kernel hackers, who really are human, despite occasional
rumors to the contrary" (LWN.net)