Kopieren einer Tabellenstruktur ohne Daten in PostgreSQL 8.3/8.4/9

Um eine Tabelle ohne Daten zu kopieren gibt es in PostgreSQL 8.3/8.4/9 folgende Möglichkeiten:

1) Tabelle ohne default und check constraints kopieren

CREATE TABLE "mynewtable" AS SELECT * FROM "myoldtable" WHERE 1=0;


Durch die Bedingung „1=0“ wird die Tabelle ohne Inhalt kopiert. Wenn man die Bedingung „1=0“ weglässt, wird die Tabelle mit Inhalt (Datensätzen) kopiert.

2) Tabelle mit default und check constraints kopieren

CREATE TABLE "mynewtable" (LIKE "myoldtable" INCLUDING DEFAULTS INCLUDING CONSTRAINTS);


Bei diesem Beispiel werden default und check constraints übernommen.

Hinweis: Bitte beachten Sie, dass sich der Artikel auf PostgreSQL 8.3/8.4/9.0 bezieht. Jedoch sollte es theoretisch auch möglich sein, die oben genannten Beispiele in PostgreSQL 8.0 / 8.1 / 8.2 zu realisieren. Dies wurde jedoch nicht von uns getestet.

IDKBAD001172 KBAD001172