(Kontrola przed lotem: czy atrybuty są identyczne we wszystkich oryginalnych tabelach? Czy typ geometrii jest dokładnie taki sam we wszystkich tabelach?)
Możesz albo
- najpierw stwórz (pustą) tabelę, a następnie użyj INSERT INTO ... SELECT ... FROM, aby przenieść wszystkie dane z każdej oryginalnej tabeli do scalonej.
- Utwórz nową tabelę na podstawie jednej dużej instrukcji UNION.
Dla 1 może pójść:
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;
i tak dalej...
Dla opcji 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