Ich bin neu bei Postgres (am 9.5) und ich kann das nirgends in der Dokumentation finden.Tabelle kopieren (Tabelle erstellen) - nicht automatisch inkrementieren Primärschlüssel
Im Grunde eine Tabelle wie folgt erstellen:
CREATE TABLE test (
id serial primary key,
field1 CHARACTER VARYING(50)
);
Dann kopieren:
create table test_copy (like test);
Die Tabelle Test diese Spalten:
COLUMN_NAME id field1
DATA_TYPE 4 12
TYPE_NAME serial varchar
COLUMN_SIZE 10 50
IS_NULLABLE NO YES
IS_AUTOINCREMENT YES NO
Aber test_copy hat diese:
COLUMN_NAME id field1
DATA_TYPE 4 12
TYPE_NAME int4 varchar
COLUMN_SIZE 10 50
IS_NULLABLE NO YES
IS_AUTOINCREMENT NO NO
Warum verliere ich serielle und Autoincrement? Wie kann ich eine Kopie einer Tabelle erstellen, die diese enthält?
Es scheint, wie das funktioniert. Für was ist die Alter-Anweisung? – Greg
Wenn Sie die Tabelle erben, kopiert sie nicht nur die Struktur, sie "behält die Referenz". https://www.postgresql.org/docs/current/static/ddl-inherit.html also, wenn Sie nur Struktur replizieren wollen, erstellen Sie erben Tabelle und gthen enterit es –