(Contrôle avant vol: les attributs sont-ils identiques dans toutes les tables d'origine? Le type de géométrie est-il exactement le même dans toutes les tables?)
Vous pouvez soit
- créez d'abord la table (vide), puis utilisez INSERT INTO ... SELECT ... FROM pour obtenir toutes les données de chacune des tables d'origine dans celle fusionnée.
- Créez la nouvelle table à partir d'une grande instruction UNION.
Pour 1, cela pourrait aller:
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;
etc...
Pour l'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