Es ist eine Weile her, seit diese Frage gestellt wurde, kann Hoffnung helfen. Da Sie die db-Struktur nicht ändern oder ändern können, können Sie dies tun. nach der postgresql docs.
TRUNCATE - eine Tabelle oder einen Tabellensatz leeren.
TRUNCATE [ TABLE ] [ ONLY ] name [ * ] [, ... ]
[ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]
Beschreibung
TRUNCATE entfernt schnell alle Zeilen aus einer Reihe von Tabellen. Es hat den gleichen Effekt wie ein unqualifiziertes DELETE für jede Tabelle, aber da es die Tabellen nicht wirklich scannt, ist es schneller. Darüber hinaus wird der Speicherplatz sofort zurückgewonnen, anstatt eine nachfolgende VACUUM-Operation zu erfordern. Dies ist besonders bei großen Tabellen nützlich.
Kürzen der Tabelle othertable und Kaskade auf irgendwelche Tabellen, die othertable über Fremdschlüssel-Constraints Referenz:
TRUNCATE othertable CASCADE;
die gleichen, und zurückgesetzt auch alle zugehörigen Sequenzgeneratoren:
TRUNCATE bigtable, fattable RESTART IDENTITY;
Alle zugehörigen Sequenzgeneratoren abschneiden und zurücksetzen:
TRUNCATE revinfo RESTART IDENTITY CASCADE ;
Überprüfen Sie dies auch [auf löschen Kaskade] (http://stackoverflow.com/questions/10356484/how-to-add-on-delete-cascade-constraints);) Es ist gut, diese Einstellungen in Ihrer Tabelle zu haben though .. Wenn 'Fremdschlüssel erstellen' wir 'Eltern hinzufügen, dann Kind'. Beim Löschen löschen wir also "child" und dann "eltern";) – bonCodigo