]> git.openstreetmap.org Git - nominatim.git/blob - sql/partition-tables.src.sql
Merge branch 'reverse-lookup-including-tiger-lookup' of https://github.com/mtmail...
[nominatim.git] / sql / partition-tables.src.sql
1 drop type if exists nearplace cascade;
2 create type nearplace as (
3   place_id BIGINT
4 );
5
6 drop type if exists nearfeature cascade;
7 create type nearfeature as (
8   place_id BIGINT,
9   keywords int[],
10   rank_address integer,
11   rank_search integer,
12   distance float,
13   isguess boolean
14 );
15
16 drop type if exists nearfeaturecentr cascade;
17 create type nearfeaturecentr as (
18   place_id BIGINT,
19   keywords int[],
20   rank_address integer,
21   rank_search integer,
22   distance float,
23   isguess boolean,
24   centroid GEOMETRY
25 );
26
27 drop table IF EXISTS search_name_blank CASCADE;
28 CREATE TABLE search_name_blank (
29   place_id BIGINT,
30   search_rank integer,
31   address_rank integer,
32   name_vector integer[]
33   );
34 SELECT AddGeometryColumn('search_name_blank', 'centroid', 4326, 'GEOMETRY', 2);
35
36
37 CREATE TABLE location_area_country () INHERITS (location_area_large) {ts:address-data};
38 CREATE INDEX idx_location_area_country_geometry ON location_area_country USING GIST (geometry) {ts:address-index};
39
40 CREATE TABLE search_name_country () INHERITS (search_name_blank) {ts:address-data};
41 CREATE INDEX idx_search_name_country_place_id ON search_name_country USING BTREE (place_id) {ts:address-index};
42 CREATE INDEX idx_search_name_country_name_vector ON search_name_country USING GIN (name_vector) WITH (fastupdate = off) {ts:address-index};
43
44 -- start
45 CREATE TABLE location_area_large_-partition- () INHERITS (location_area_large) {ts:address-data};
46 CREATE INDEX idx_location_area_large_-partition-_place_id ON location_area_large_-partition- USING BTREE (place_id) {ts:address-index};
47 CREATE INDEX idx_location_area_large_-partition-_geometry ON location_area_large_-partition- USING GIST (geometry) {ts:address-index};
48
49 CREATE TABLE search_name_-partition- () INHERITS (search_name_blank) {ts:address-data};
50 CREATE INDEX idx_search_name_-partition-_place_id ON search_name_-partition- USING BTREE (place_id) {ts:address-index};
51 CREATE INDEX idx_search_name_-partition-_centroid ON search_name_-partition- USING GIST (centroid) {ts:address-index};
52 CREATE INDEX idx_search_name_-partition-_name_vector ON search_name_-partition- USING GIN (name_vector) WITH (fastupdate = off) {ts:address-index};
53
54 CREATE TABLE location_property_-partition- () INHERITS (location_property) {ts:aux-data};
55 CREATE INDEX idx_location_property_-partition-_place_id ON location_property_-partition- USING BTREE (place_id) {ts:aux-index};
56 CREATE INDEX idx_location_property_-partition-_parent_place_id ON location_property_-partition- USING BTREE (parent_place_id) {ts:aux-index};
57 CREATE INDEX idx_location_property_-partition-_housenumber_parent_place_id ON location_property_-partition- USING BTREE (parent_place_id, housenumber) {ts:aux-index};
58
59 CREATE TABLE location_road_-partition- (
60   partition integer,
61   place_id BIGINT,
62   country_code VARCHAR(2)
63   ) {ts:address-data};
64 SELECT AddGeometryColumn('location_road_-partition-', 'geometry', 4326, 'GEOMETRY', 2);
65 CREATE INDEX idx_location_road_-partition-_geometry ON location_road_-partition- USING GIST (geometry) {ts:address-index};
66 CREATE INDEX idx_location_road_-partition-_place_id ON location_road_-partition- USING BTREE (place_id) {ts:address-index};
67
68 -- end