diff --git a/layers/transportation_name/merge_highways.sql b/layers/transportation_name/merge_highways.sql index 025b274a..d3ebedf6 100644 --- a/layers/transportation_name/merge_highways.sql +++ b/layers/transportation_name/merge_highways.sql @@ -36,7 +36,7 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring AS ( WHERE (name <> '' OR ref <> '') AND NULLIF(highway, '') IS NOT NULL GROUP BY name, highway, ref ) AS highway_union -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_geometry_idx ON osm_transportation_name_linestring USING gist(geometry); -- etldoc: osm_transportation_name_linestring -> osm_transportation_name_linestring_gen1 @@ -44,7 +44,7 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen1 AS ( SELECT ST_Simplify(geometry, 50) AS geometry, osm_id, member_osm_ids, name, ref, highway, z_order FROM osm_transportation_name_linestring WHERE highway IN ('motorway','trunk') AND ST_Length(geometry) > 8000 -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen1_geometry_idx ON osm_transportation_name_linestring_gen1 USING gist(geometry); -- etldoc: osm_transportation_name_linestring_gen1 -> osm_transportation_name_linestring_gen2 @@ -52,7 +52,7 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen2 AS ( SELECT ST_Simplify(geometry, 120) AS geometry, osm_id, member_osm_ids, name, ref, highway, z_order FROM osm_transportation_name_linestring_gen1 WHERE highway IN ('motorway','trunk') AND ST_Length(geometry) > 14000 -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen2_geometry_idx ON osm_transportation_name_linestring_gen2 USING gist(geometry); -- etldoc: osm_transportation_name_linestring_gen2 -> osm_transportation_name_linestring_gen3 @@ -60,7 +60,7 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen3 AS ( SELECT ST_Simplify(geometry, 120) AS geometry, osm_id, member_osm_ids, name, ref, highway, z_order FROM osm_transportation_name_linestring_gen2 WHERE highway = 'motorway' AND ST_Length(geometry) > 20000 -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen3_geometry_idx ON osm_transportation_name_linestring_gen3 USING gist(geometry); -- Handle updates @@ -79,10 +79,10 @@ CREATE OR REPLACE FUNCTION transportation_name.refresh() RETURNS trigger AS $BODY$ BEGIN RAISE LOG 'Refresh transportation_name'; - REFRESH MATERIALIZED VIEW osm_transportation_name_linestring; - REFRESH MATERIALIZED VIEW osm_transportation_name_linestring_gen1; - REFRESH MATERIALIZED VIEW osm_transportation_name_linestring_gen2; - REFRESH MATERIALIZED VIEW osm_transportation_name_linestring_gen3; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_transportation_name_linestring; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_transportation_name_linestring_gen1; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_transportation_name_linestring_gen2; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_transportation_name_linestring_gen3; DELETE FROM transportation_name.updates; RETURN null; END; diff --git a/layers/water_name/water_lakeline.sql b/layers/water_name/water_lakeline.sql index 3570cc2a..dea4251a 100644 --- a/layers/water_name/water_lakeline.sql +++ b/layers/water_name/water_lakeline.sql @@ -12,7 +12,7 @@ CREATE MATERIALIZED VIEW osm_water_lakeline AS ( FROM osm_water_polygon AS wp INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id WHERE wp.name <> '' -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_water_lakeline_geometry_idx ON osm_water_lakeline USING gist(geometry); -- Handle updates @@ -31,7 +31,7 @@ CREATE OR REPLACE FUNCTION water_lakeline.refresh() RETURNS trigger AS $BODY$ BEGIN RAISE LOG 'Refresh water_lakeline'; - REFRESH MATERIALIZED VIEW osm_water_lakeline; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_water_lakeline; DELETE FROM water_lakeline.updates; RETURN null; END; diff --git a/layers/water_name/water_point.sql b/layers/water_name/water_point.sql index 7c495471..68a76576 100644 --- a/layers/water_name/water_point.sql +++ b/layers/water_name/water_point.sql @@ -12,7 +12,7 @@ CREATE MATERIALIZED VIEW osm_water_point AS ( FROM osm_water_polygon AS wp LEFT JOIN lake_centerline ll ON wp.osm_id = ll.osm_id WHERE ll.osm_id IS NULL AND wp.name <> '' -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_water_point_geometry_idx ON osm_water_point USING gist (geometry); -- Handle updates @@ -31,7 +31,7 @@ CREATE OR REPLACE FUNCTION water_name.refresh() RETURNS trigger AS $BODY$ BEGIN RAISE LOG 'Refresh water_name'; - REFRESH MATERIALIZED VIEW osm_water_point; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_water_point; DELETE FROM water_name.updates; RETURN null; END; diff --git a/layers/waterway/merge_waterway.sql b/layers/waterway/merge_waterway.sql index e3bcd896..03f248fd 100644 --- a/layers/waterway/merge_waterway.sql +++ b/layers/waterway/merge_waterway.sql @@ -23,7 +23,7 @@ CREATE MATERIALIZED VIEW osm_important_waterway_linestring AS ( WHERE name <> '' AND waterway = 'river' GROUP BY name ) AS waterway_union -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_geometry_idx ON osm_important_waterway_linestring USING gist(geometry); -- etldoc: osm_important_waterway_linestring -> osm_important_waterway_linestring_gen1 @@ -31,7 +31,7 @@ CREATE MATERIALIZED VIEW osm_important_waterway_linestring_gen1 AS ( SELECT ST_Simplify(geometry, 60) AS geometry, name FROM osm_important_waterway_linestring WHERE ST_Length(geometry) > 1000 -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen1_geometry_idx ON osm_important_waterway_linestring_gen1 USING gist(geometry); -- etldoc: osm_important_waterway_linestring_gen1 -> osm_important_waterway_linestring_gen2 @@ -39,7 +39,7 @@ CREATE MATERIALIZED VIEW osm_important_waterway_linestring_gen2 AS ( SELECT ST_Simplify(geometry, 100) AS geometry, name FROM osm_important_waterway_linestring_gen1 WHERE ST_Length(geometry) > 4000 -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen2_geometry_idx ON osm_important_waterway_linestring_gen2 USING gist(geometry); -- etldoc: osm_important_waterway_linestring_gen2 -> osm_important_waterway_linestring_gen3 @@ -47,7 +47,7 @@ CREATE MATERIALIZED VIEW osm_important_waterway_linestring_gen3 AS ( SELECT ST_Simplify(geometry, 200) AS geometry, name FROM osm_important_waterway_linestring_gen2 WHERE ST_Length(geometry) > 8000 -) WITH NO DATA; +); CREATE INDEX IF NOT EXISTS osm_important_waterway_linestring_gen3_geometry_idx ON osm_important_waterway_linestring_gen3 USING gist(geometry); -- Handle updates @@ -66,10 +66,10 @@ CREATE OR REPLACE FUNCTION waterway.refresh() RETURNS trigger AS $BODY$ BEGIN RAISE LOG 'Refresh transportation_name'; - REFRESH MATERIALIZED VIEW osm_important_waterway_linestring; - REFRESH MATERIALIZED VIEW osm_important_waterway_linestring_gen1; - REFRESH MATERIALIZED VIEW osm_important_waterway_linestring_gen2; - REFRESH MATERIALIZED VIEW osm_important_waterway_linestring_gen3; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_important_waterway_linestring; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_important_waterway_linestring_gen1; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_important_waterway_linestring_gen2; + REFRESH MATERIALIZED VIEW CONCURRENTLY osm_important_waterway_linestring_gen3; DELETE FROM waterway.updates; RETURN null; END;