通常、次のような新しい空間テーブルを作成できます。
SELECT *
INTO europe.borders
FROM wo_borders
WHERE admin_lvl2 = 'eu';
-- Define a primary key
ALTER TABLE europe.borders ADD PRIMARY KEY (gid);
-- Spatially enable it
SELECT Populate_Geometry_Columns('europe.borders'::regclass);
ただし、これを行うと、データベースが分離されます(正規化されません)。つまり、冗長性があるため、1つのテーブルの情報に更新がある場合、別のテーブルで更新することは困難です。さらに、サブリージョンだけで全世界に対してクエリを実行することはできません。VIEWを使用して、メインテーブルのパーティションの仮想テーブルを作成することを検討できます。
-- Make an index on your column used to query the view
CREATE INDEX wo_borders_admin_lvl2_idx ON wo_borders USING btree (admin_lvl2);
-- Now the view
CREATE OR REPLACE VIEW europe.borders_view AS
SELECT *
FROM wo_borders
WHERE admin_lvl2 = 'eu';
-- Spatially enable it
SELECT Populate_Geometry_Columns('europe.borders_view'::regclass);