diff --git a/martin.yaml b/martin.yaml index c68fdfd..2dba2ae 100644 --- a/martin.yaml +++ b/martin.yaml @@ -4,6 +4,7 @@ postgres: connection_string: ${DATABASE_URL} + pool_size: 8 default_srid: 3844 auto_publish: false tables: @@ -83,7 +84,7 @@ postgres: geometry_column: geom srid: 3844 bounds: [20.2, 43.5, 30.0, 48.3] - minzoom: 10 + minzoom: 14 maxzoom: 18 properties: object_id: text @@ -138,7 +139,7 @@ postgres: geometry_column: geom srid: 3844 bounds: [20.2, 43.5, 30.0, 48.3] - minzoom: 12 + minzoom: 15 maxzoom: 18 properties: object_id: text diff --git a/prisma/postgis-setup.sql b/prisma/postgis-setup.sql index 1553627..c78ae38 100644 --- a/prisma/postgis-setup.sql +++ b/prisma/postgis-setup.sql @@ -59,6 +59,14 @@ WHERE geometry IS NOT NULL AND geom IS NULL; CREATE INDEX IF NOT EXISTS gis_feature_geom_idx ON "GisFeature" USING GIST (geom); +-- Compound index: layerId + spatial — Martin queries filter by layer via views +CREATE INDEX IF NOT EXISTS gis_feature_layer_geom_idx + ON "GisFeature" ("layerId", geom) WHERE geom IS NOT NULL; + +-- B-tree index on layerId for view filtering (LIKE 'TERENURI%', 'CLADIRI%') +CREATE INDEX IF NOT EXISTS gis_feature_layer_id_idx + ON "GisFeature" ("layerId"); + -- ============================================================================= -- 7. QGIS-friendly views -- - Clean snake_case column names