Re: "truncate all"? - Mailing list pgsql-hackers

From Shridhar Daithankar
Subject Re: "truncate all"?
Date
Msg-id 3F2E7760.30021.23D00108@localhost
Whole thread Raw
In response to "truncate all"?  (Andreas <e9625203@student.tuwien.ac.at>)
Responses Re: "truncate all"?
List pgsql-hackers
On 4 Aug 2003 at 11:25, Andreas wrote:
>     Would it be possible to implement a "truncate all" that purges all tuples 
> from *all* tables, without taking account any rules or triggers, but 
> leaving all table structures and rules, triggers, functions, etc intact 
> (sequences do not need to reinitialized)?
> 
> As far as I understand, the "no truncate if table is referenced" change was 
> introduced to ensure database integrity. However, if the referencing table 
> is truncated, too, there should be no problem as far as foreign keys are 
> concerned, correct?
> 
> The rationale behind this suggestion is that in our project we need a 
> *quick* way to get rid of all the tuples in all tables in order to 
> accelerate the reinitialization of the database for our unit tests. This 
> needs to be done fairly often, and so the quicker the unit tests run, the 
> easier it will be to include many unit tests in our project, thus ensuring 
> that we can develop efficiently and safely in postgresql.
> 
> If you know of some other *quick* way to truncate all tables, please let us 
> know. BTW: Starting and later rolling back a transaction will not work, as 

As a workaround, I would dump the schema to a file using pg_dump, drop the 
database and recreate it from schema.

Will that do for you? Unfortunately that is not transaction safe and any 
clients connected at that time needs to disconnect first. Hopefully you can do 
that in the test environment.

HTH

ByeShridhar

--
Bubble Memory, n.:    A derogatory term, usually referring to a person's 
intelligence.    See also "vacuum tube".



pgsql-hackers by date:

Previous
From: Andreas
Date:
Subject: "truncate all"?
Next
From: Lee Kindness
Date:
Subject: Re: 7.4 COPY BINARY Format Change