Re: RE: [pgsql-es-ayuda] Cómo borrar todos los datos de un base

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Carlos Alberto Mÿffffffffffe1rquez Rey <carlos_marquez_rey(at)yahoo(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: RE: [pgsql-es-ayuda] Cómo borrar todos los datos de un base
Date: 2005-04-12 15:54:41
Message-ID: 20050412155441.GG17283@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Apr 12, 2005 at 10:46:33AM -0500, Carlos Alberto Mÿffffffffffe1rquez Rey wrote:
>
> --- Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> wrote:
> > On Tue, Apr 12, 2005 at 01:23:14PM +0000, Edwin
> > Quijada wrote:
> > > haz una funcion recorriendo cada tabla y aplicando
> > truncate
> >
> > Eso funciona solo si no hay llaves foraneas.
>
> Funciona si se hace en orden, primero las tablas hijas

Evidentemente no lo probaste. Yo si. En 7.3, 7.4 y 8.0. Reitero: eso
funciona solo si no hay llaves foraneas.

alvherre=# create table a (a int primary key);
NOTICE: CREATE TABLE / PRIMARY KEY creará el índice implícito «a_pkey» para la tabla «a»
CREATE TABLE
alvherre=# create table b (a int references a);
CREATE TABLE
alvherre=# truncate table b;
TRUNCATE TABLE
alvherre=# truncate table a;
ERROR: no se puede truncar una tabla referida en una llave foránea
DETAIL: La tabla «b» se refiere a «a» a través de la llave foránea «b_a_fkey».
alvherre=# truncate table b;
TRUNCATE TABLE
alvherre=# truncate table a;
ERROR: no se puede truncar una tabla referida en una llave foránea
DETAIL: La tabla «b» se refiere a «a» a través de la llave foránea «b_a_fkey».

En la version en desarrollo puedes hacer esto:

alvherre=# create table a (a int primary key);
NOTICE: CREATE TABLE / PRIMARY KEY creará el índice implícito «a_pkey» para la tabla «a»
CREATE TABLE
alvherre=# create table b (a int references a);
CREATE TABLE
alvherre=# truncate table a, b;
TRUNCATE TABLE

Patch written by yours truly.

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Endurecerse, pero jamás perder la ternura" (E. Guevara)

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ricardo Navarro 2005-04-12 15:59:34 RE: Formato-Fecha
Previous Message Mauricio Zea 2005-04-12 15:53:48 Re: Queja formal sobre la lista