(Предварительная проверка: идентичны ли атрибуты во всех исходных таблицах? Является ли тип геометрии одинаковым во всех таблицах?)
Вы также можете
- сначала создайте (пустую) таблицу, затем используйте INSERT INTO ... SELECT ... FROM, чтобы получить все данные из каждой исходной таблицы в объединенную.
- Создайте новую таблицу из одного большого оператора UNION.
Для 1 это может пойти:
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;
и так далее...
Для варианта 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, Миха