(Pre-Flight-Check: Sind Attribute in allen Originaltabellen identisch? Ist der Geometrietyp in allen Tabellen genau gleich?)
Du kannst entweder
- Erstellen Sie zuerst die (leere) Tabelle und verwenden Sie dann INSERT INTO ... SELECT ... FROM, um alle Daten aus jeder der Originaltabellen in die zusammengeführte Tabelle zu übernehmen.
- Erstellen Sie die neue Tabelle aus einer großen UNION-Anweisung.
Für 1 könnte es gehen:
CREATE TABLE merged (id serial primary key, attrib1 integer, attrib2 varchar(15),....);
SELECT AddGeometryColumn('merged','geom',<SRID>,'<FEATURE_TYPE>,'XY');
INSERT INTO merged (attrib1, attrib2, ...., geom) SELECT attribA, attribB,...,geom FROM table_1;
INSERT INTO merged (attrib1, attrib2, ...., geom) SELECT attribA, attribB,...,geom FROM table_2;
und so weiter...
Für Option 2:
CREATE TABLE merged AS(
SELECT attribA, attribB,...,geom FROM table_1
UNION
SELECT attribA, attribB,...,geom FROM table_2
UNION
....
);
SELECT Populate_Geometry_Columns('merged'::regclass);
HTH, Micha