X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/1879cf902c8271b8f5e15a8272adebe3c0d10193..57598a048e9124b905572ed8dc4fa9465b5d38a6:/lib-sql/tables.sql diff --git a/lib-sql/tables.sql b/lib-sql/tables.sql index eafed6d8..cde33952 100644 --- a/lib-sql/tables.sql +++ b/lib-sql/tables.sql @@ -184,21 +184,21 @@ CREATE INDEX idx_placex_geometry_address_area_candidates ON placex -- Usage: - POI is within building with housenumber CREATE INDEX idx_placex_geometry_buildings ON placex - USING {{postgres.spgist_geom}} (geometry) {{db.tablespace.address_index}} + USING SPGIST (geometry) {{db.tablespace.address_index}} WHERE address is not null and rank_search = 30 and ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon'); -- Usage: - linking of similar named places to boundaries -- - linking of place nodes with same type to boundaries CREATE INDEX idx_placex_geometry_placenode ON placex - USING {{postgres.spgist_geom}} (geometry) {{db.tablespace.address_index}} + USING SPGIST (geometry) {{db.tablespace.address_index}} WHERE osm_type = 'N' and rank_search < 26 and class = 'place' and type != 'postcode'; -- Usage: - is node part of a way? -- - find parent of interpolation spatially CREATE INDEX idx_placex_geometry_lower_rank_ways ON placex - USING {{postgres.spgist_geom}} (geometry) {{db.tablespace.address_index}} + USING SPGIST (geometry) {{db.tablespace.address_index}} WHERE osm_type = 'W' and rank_search >= 26; -- Usage: - linking place nodes by wikidata tag to boundaries @@ -273,28 +273,15 @@ GRANT SELECT ON import_polygon_delete TO "{{config.DATABASE_WEBUSER}}"; DROP SEQUENCE IF EXISTS file; CREATE SEQUENCE file start 1; --- null table so it won't error --- deliberately no drop - importing the table is expensive and static, if it is already there better to avoid removing it -CREATE TABLE IF NOT EXISTS wikipedia_article ( - language text NOT NULL, - title text NOT NULL, - langcount integer, - othercount integer, - totalcount integer, - lat double precision, - lon double precision, - importance double precision, - osm_type character(1), - osm_id bigint, - wd_page_title text, - instance_of text -); - -CREATE TABLE IF NOT EXISTS wikipedia_redirect ( - language text, - from_title text, - to_title text -); +{% if 'wikimedia_importance' not in db.tables and 'wikipedia_article' not in db.tables %} +-- create dummy tables here, if nothing was imported +CREATE TABLE wikimedia_importance ( + language TEXT NOT NULL, + title TEXT NOT NULL, + importance double precision NOT NULL, + wikidata TEXT +) {{db.tablespace.address_data}}; +{% endif %} -- osm2pgsql does not create indexes on the middle tables for Nominatim -- Add one for lookup of associated street relations.