X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/e221eaa97711f25c85d2c0dedc53f1de1fd6fc7f..c39fc5d180247f777fde20e79cdd1a0b312eb23c:/lib-sql/tables.sql diff --git a/lib-sql/tables.sql b/lib-sql/tables.sql index d576485e..eafed6d8 100644 --- a/lib-sql/tables.sql +++ b/lib-sql/tables.sql @@ -190,7 +190,6 @@ CREATE INDEX idx_placex_geometry_buildings ON placex -- Usage: - linking of similar named places to boundaries -- - linking of place nodes with same type to boundaries --- - lookupPolygon() CREATE INDEX idx_placex_geometry_placenode ON placex USING {{postgres.spgist_geom}} (geometry) {{db.tablespace.address_index}} WHERE osm_type = 'N' and rank_search < 26 @@ -299,7 +298,15 @@ CREATE TABLE IF NOT EXISTS wikipedia_redirect ( -- osm2pgsql does not create indexes on the middle tables for Nominatim -- Add one for lookup of associated street relations. -CREATE INDEX planet_osm_rels_parts_associated_idx ON planet_osm_rels USING gin(parts) WHERE tags @> ARRAY['associatedStreet']; +{% if db.middle_db_format == '1' %} +CREATE INDEX planet_osm_rels_parts_associated_idx ON planet_osm_rels USING gin(parts) + {{db.tablespace.address_index}} + WHERE tags @> ARRAY['associatedStreet']; +{% else %} +CREATE INDEX planet_osm_rels_relation_members_idx ON planet_osm_rels USING gin(planet_osm_member_ids(members, 'R'::character(1))) + WITH (fastupdate=off) + {{db.tablespace.address_index}}; +{% endif %} -- Needed for lookups if a node is part of an interpolation. CREATE INDEX IF NOT EXISTS idx_place_interpolations