Add database setup scripts

This commit is contained in:
Logan Williams
2023-06-13 13:53:20 +02:00
parent c2d78c71c2
commit 63e3387e29
5 changed files with 219 additions and 0 deletions

4
database/analyze.sql Normal file
View File

@@ -0,0 +1,4 @@
ANALYZE planet_osm_polygon;
ANALYZE planet_osm_line;
ANALYZE planet_osm_point;
ANALYZE planet_osm;

199
database/clean.sql Normal file
View File

@@ -0,0 +1,199 @@
ALTER TABLE planet_osm_point DROP COLUMN "access";
ALTER TABLE planet_osm_point DROP COLUMN "addr:housename";
ALTER TABLE planet_osm_point DROP COLUMN "addr:housenumber";
ALTER TABLE planet_osm_point DROP COLUMN "addr:interpolation";
ALTER TABLE planet_osm_point DROP COLUMN "admin_level";
ALTER TABLE planet_osm_point DROP COLUMN "aerialway";
ALTER TABLE planet_osm_point DROP COLUMN "aeroway";
ALTER TABLE planet_osm_point DROP COLUMN "amenity";
ALTER TABLE planet_osm_point DROP COLUMN "area";
ALTER TABLE planet_osm_point DROP COLUMN "barrier";
ALTER TABLE planet_osm_point DROP COLUMN "bicycle";
ALTER TABLE planet_osm_point DROP COLUMN "brand";
ALTER TABLE planet_osm_point DROP COLUMN "bridge";
ALTER TABLE planet_osm_point DROP COLUMN "boundary";
ALTER TABLE planet_osm_point DROP COLUMN "building";
ALTER TABLE planet_osm_point DROP COLUMN "construction";
ALTER TABLE planet_osm_point DROP COLUMN "covered";
ALTER TABLE planet_osm_point DROP COLUMN "culvert";
ALTER TABLE planet_osm_point DROP COLUMN "cutting";
ALTER TABLE planet_osm_point DROP COLUMN "denomination";
ALTER TABLE planet_osm_point DROP COLUMN "disused";
ALTER TABLE planet_osm_point DROP COLUMN "embankment";
ALTER TABLE planet_osm_point DROP COLUMN "foot";
ALTER TABLE planet_osm_point DROP COLUMN "generator:source";
ALTER TABLE planet_osm_point DROP COLUMN "harbour";
ALTER TABLE planet_osm_point DROP COLUMN "highway";
ALTER TABLE planet_osm_point DROP COLUMN "historic";
ALTER TABLE planet_osm_point DROP COLUMN "horse";
ALTER TABLE planet_osm_point DROP COLUMN "intermittent";
ALTER TABLE planet_osm_point DROP COLUMN "junction";
ALTER TABLE planet_osm_point DROP COLUMN "landuse";
ALTER TABLE planet_osm_point DROP COLUMN "layer";
ALTER TABLE planet_osm_point DROP COLUMN "leisure";
ALTER TABLE planet_osm_point DROP COLUMN "lock";
ALTER TABLE planet_osm_point DROP COLUMN "man_made";
ALTER TABLE planet_osm_point DROP COLUMN "military";
ALTER TABLE planet_osm_point DROP COLUMN "motorcar";
ALTER TABLE planet_osm_point DROP COLUMN "name";
ALTER TABLE planet_osm_point DROP COLUMN "natural";
ALTER TABLE planet_osm_point DROP COLUMN "office";
ALTER TABLE planet_osm_point DROP COLUMN "oneway";
ALTER TABLE planet_osm_point DROP COLUMN "operator";
ALTER TABLE planet_osm_point DROP COLUMN "place";
ALTER TABLE planet_osm_point DROP COLUMN "population";
ALTER TABLE planet_osm_point DROP COLUMN "power";
ALTER TABLE planet_osm_point DROP COLUMN "power_source";
ALTER TABLE planet_osm_point DROP COLUMN "public_transport";
ALTER TABLE planet_osm_point DROP COLUMN "railway";
ALTER TABLE planet_osm_point DROP COLUMN "ref";
ALTER TABLE planet_osm_point DROP COLUMN "religion";
ALTER TABLE planet_osm_point DROP COLUMN "route";
ALTER TABLE planet_osm_point DROP COLUMN "service";
ALTER TABLE planet_osm_point DROP COLUMN "shop";
ALTER TABLE planet_osm_point DROP COLUMN "sport";
ALTER TABLE planet_osm_point DROP COLUMN "surface";
ALTER TABLE planet_osm_point DROP COLUMN "toll";
ALTER TABLE planet_osm_point DROP COLUMN "tourism";
ALTER TABLE planet_osm_point DROP COLUMN "tower:type";
ALTER TABLE planet_osm_point DROP COLUMN "tracktype";
ALTER TABLE planet_osm_point DROP COLUMN "tunnel";
ALTER TABLE planet_osm_point DROP COLUMN "water";
ALTER TABLE planet_osm_point DROP COLUMN "waterway";
ALTER TABLE planet_osm_point DROP COLUMN "wetland";
ALTER TABLE planet_osm_point DROP COLUMN "width";
ALTER TABLE planet_osm_point DROP COLUMN "wood";
ALTER TABLE planet_osm_line DROP COLUMN "access";
ALTER TABLE planet_osm_line DROP COLUMN "addr:housename";
ALTER TABLE planet_osm_line DROP COLUMN "addr:housenumber";
ALTER TABLE planet_osm_line DROP COLUMN "addr:interpolation";
ALTER TABLE planet_osm_line DROP COLUMN "admin_level";
ALTER TABLE planet_osm_line DROP COLUMN "aerialway";
ALTER TABLE planet_osm_line DROP COLUMN "aeroway";
ALTER TABLE planet_osm_line DROP COLUMN "amenity";
ALTER TABLE planet_osm_line DROP COLUMN "area";
ALTER TABLE planet_osm_line DROP COLUMN "barrier";
ALTER TABLE planet_osm_line DROP COLUMN "bicycle";
ALTER TABLE planet_osm_line DROP COLUMN "brand";
ALTER TABLE planet_osm_line DROP COLUMN "bridge";
ALTER TABLE planet_osm_line DROP COLUMN "boundary";
ALTER TABLE planet_osm_line DROP COLUMN "building";
ALTER TABLE planet_osm_line DROP COLUMN "construction";
ALTER TABLE planet_osm_line DROP COLUMN "covered";
ALTER TABLE planet_osm_line DROP COLUMN "culvert";
ALTER TABLE planet_osm_line DROP COLUMN "cutting";
ALTER TABLE planet_osm_line DROP COLUMN "denomination";
ALTER TABLE planet_osm_line DROP COLUMN "disused";
ALTER TABLE planet_osm_line DROP COLUMN "embankment";
ALTER TABLE planet_osm_line DROP COLUMN "foot";
ALTER TABLE planet_osm_line DROP COLUMN "generator:source";
ALTER TABLE planet_osm_line DROP COLUMN "harbour";
ALTER TABLE planet_osm_line DROP COLUMN "highway";
ALTER TABLE planet_osm_line DROP COLUMN "historic";
ALTER TABLE planet_osm_line DROP COLUMN "horse";
ALTER TABLE planet_osm_line DROP COLUMN "intermittent";
ALTER TABLE planet_osm_line DROP COLUMN "junction";
ALTER TABLE planet_osm_line DROP COLUMN "landuse";
ALTER TABLE planet_osm_line DROP COLUMN "layer";
ALTER TABLE planet_osm_line DROP COLUMN "leisure";
ALTER TABLE planet_osm_line DROP COLUMN "lock";
ALTER TABLE planet_osm_line DROP COLUMN "man_made";
ALTER TABLE planet_osm_line DROP COLUMN "military";
ALTER TABLE planet_osm_line DROP COLUMN "motorcar";
ALTER TABLE planet_osm_line DROP COLUMN "name";
ALTER TABLE planet_osm_line DROP COLUMN "natural";
ALTER TABLE planet_osm_line DROP COLUMN "office";
ALTER TABLE planet_osm_line DROP COLUMN "oneway";
ALTER TABLE planet_osm_line DROP COLUMN "operator";
ALTER TABLE planet_osm_line DROP COLUMN "place";
ALTER TABLE planet_osm_line DROP COLUMN "population";
ALTER TABLE planet_osm_line DROP COLUMN "power";
ALTER TABLE planet_osm_line DROP COLUMN "power_source";
ALTER TABLE planet_osm_line DROP COLUMN "public_transport";
ALTER TABLE planet_osm_line DROP COLUMN "railway";
ALTER TABLE planet_osm_line DROP COLUMN "ref";
ALTER TABLE planet_osm_line DROP COLUMN "religion";
ALTER TABLE planet_osm_line DROP COLUMN "route";
ALTER TABLE planet_osm_line DROP COLUMN "service";
ALTER TABLE planet_osm_line DROP COLUMN "shop";
ALTER TABLE planet_osm_line DROP COLUMN "sport";
ALTER TABLE planet_osm_line DROP COLUMN "surface";
ALTER TABLE planet_osm_line DROP COLUMN "toll";
ALTER TABLE planet_osm_line DROP COLUMN "tourism";
ALTER TABLE planet_osm_line DROP COLUMN "tower:type";
ALTER TABLE planet_osm_line DROP COLUMN "tracktype";
ALTER TABLE planet_osm_line DROP COLUMN "tunnel";
ALTER TABLE planet_osm_line DROP COLUMN "water";
ALTER TABLE planet_osm_line DROP COLUMN "waterway";
ALTER TABLE planet_osm_line DROP COLUMN "wetland";
ALTER TABLE planet_osm_line DROP COLUMN "width";
ALTER TABLE planet_osm_line DROP COLUMN "wood";
ALTER TABLE planet_osm_polygon DROP COLUMN "access";
ALTER TABLE planet_osm_polygon DROP COLUMN "addr:housename";
ALTER TABLE planet_osm_polygon DROP COLUMN "addr:housenumber";
ALTER TABLE planet_osm_polygon DROP COLUMN "addr:interpolation";
ALTER TABLE planet_osm_polygon DROP COLUMN "admin_level";
ALTER TABLE planet_osm_polygon DROP COLUMN "aerialway";
ALTER TABLE planet_osm_polygon DROP COLUMN "aeroway";
ALTER TABLE planet_osm_polygon DROP COLUMN "amenity";
ALTER TABLE planet_osm_polygon DROP COLUMN "area";
ALTER TABLE planet_osm_polygon DROP COLUMN "barrier";
ALTER TABLE planet_osm_polygon DROP COLUMN "bicycle";
ALTER TABLE planet_osm_polygon DROP COLUMN "brand";
ALTER TABLE planet_osm_polygon DROP COLUMN "bridge";
ALTER TABLE planet_osm_polygon DROP COLUMN "boundary";
ALTER TABLE planet_osm_polygon DROP COLUMN "building";
ALTER TABLE planet_osm_polygon DROP COLUMN "construction";
ALTER TABLE planet_osm_polygon DROP COLUMN "covered";
ALTER TABLE planet_osm_polygon DROP COLUMN "culvert";
ALTER TABLE planet_osm_polygon DROP COLUMN "cutting";
ALTER TABLE planet_osm_polygon DROP COLUMN "denomination";
ALTER TABLE planet_osm_polygon DROP COLUMN "disused";
ALTER TABLE planet_osm_polygon DROP COLUMN "embankment";
ALTER TABLE planet_osm_polygon DROP COLUMN "foot";
ALTER TABLE planet_osm_polygon DROP COLUMN "generator:source";
ALTER TABLE planet_osm_polygon DROP COLUMN "harbour";
ALTER TABLE planet_osm_polygon DROP COLUMN "highway";
ALTER TABLE planet_osm_polygon DROP COLUMN "historic";
ALTER TABLE planet_osm_polygon DROP COLUMN "horse";
ALTER TABLE planet_osm_polygon DROP COLUMN "intermittent";
ALTER TABLE planet_osm_polygon DROP COLUMN "junction";
ALTER TABLE planet_osm_polygon DROP COLUMN "landuse";
ALTER TABLE planet_osm_polygon DROP COLUMN "layer";
ALTER TABLE planet_osm_polygon DROP COLUMN "leisure";
ALTER TABLE planet_osm_polygon DROP COLUMN "lock";
ALTER TABLE planet_osm_polygon DROP COLUMN "man_made";
ALTER TABLE planet_osm_polygon DROP COLUMN "military";
ALTER TABLE planet_osm_polygon DROP COLUMN "motorcar";
ALTER TABLE planet_osm_polygon DROP COLUMN "name";
ALTER TABLE planet_osm_polygon DROP COLUMN "natural";
ALTER TABLE planet_osm_polygon DROP COLUMN "office";
ALTER TABLE planet_osm_polygon DROP COLUMN "oneway";
ALTER TABLE planet_osm_polygon DROP COLUMN "operator";
ALTER TABLE planet_osm_polygon DROP COLUMN "place";
ALTER TABLE planet_osm_polygon DROP COLUMN "population";
ALTER TABLE planet_osm_polygon DROP COLUMN "power";
ALTER TABLE planet_osm_polygon DROP COLUMN "power_source";
ALTER TABLE planet_osm_polygon DROP COLUMN "public_transport";
ALTER TABLE planet_osm_polygon DROP COLUMN "railway";
ALTER TABLE planet_osm_polygon DROP COLUMN "ref";
ALTER TABLE planet_osm_polygon DROP COLUMN "religion";
ALTER TABLE planet_osm_polygon DROP COLUMN "route";
ALTER TABLE planet_osm_polygon DROP COLUMN "service";
ALTER TABLE planet_osm_polygon DROP COLUMN "shop";
ALTER TABLE planet_osm_polygon DROP COLUMN "sport";
ALTER TABLE planet_osm_polygon DROP COLUMN "surface";
ALTER TABLE planet_osm_polygon DROP COLUMN "toll";
ALTER TABLE planet_osm_polygon DROP COLUMN "tourism";
ALTER TABLE planet_osm_polygon DROP COLUMN "tower:type";
ALTER TABLE planet_osm_polygon DROP COLUMN "tracktype";
ALTER TABLE planet_osm_polygon DROP COLUMN "tunnel";
ALTER TABLE planet_osm_polygon DROP COLUMN "water";
ALTER TABLE planet_osm_polygon DROP COLUMN "waterway";
ALTER TABLE planet_osm_polygon DROP COLUMN "wetland";
ALTER TABLE planet_osm_polygon DROP COLUMN "width";
ALTER TABLE planet_osm_polygon DROP COLUMN "wood";

3
database/cluster.sql Normal file
View File

@@ -0,0 +1,3 @@
CLUSTER planet_osm_point USING planet_osm_point_way_idx;
CLUSTER planet_osm_line USING planet_osm_line_way_idx;
CLUSTER planet_osm_polygon USING planet_osm_polygon_way_idx;

7
database/index.sql Normal file
View File

@@ -0,0 +1,7 @@
CREATE INDEX planet_osm_line_tags_idx ON public.planet_osm_line USING gin (tags);
CREATE INDEX planet_osm_line_way_idx ON public.planet_osm_line USING gist (way) WITH (fillfactor='100');
CREATE INDEX planet_osm_point_tags_idx ON public.planet_osm_point USING gin (tags);
CREATE INDEX planet_osm_point_way_idx ON public.planet_osm_point USING gist (way) WITH (fillfactor='100');
CREATE INDEX planet_osm_polygon_tags_idx ON public.planet_osm_polygon USING gin (tags);
CREATE INDEX planet_osm_polygon_way_idx ON public.planet_osm_polygon USING gist (way) WITH (fillfactor='100');

6
database/views.sql Normal file
View File

@@ -0,0 +1,6 @@
CREATE VIEW planet_osm AS
SELECT "osm_id", "tags", "way" FROM planet_osm_point
UNION ALL
SELECT "osm_id", "tags", "way" FROM planet_osm_line
UNION ALL
SELECT "osm_id", "tags", "way" FROM planet_osm_polygon;