Оба места утверждали, что у Домклика один выделенный резидентный прокси и пула нет. Это перестало быть правдой ещё в #2800 (миграция 253 сняла резервацию узла), но текст остался — и именно на него опирался тикет #3189, поставленный под «калибровку» ограничения, которого не существует. Свип к тому же ходит через пул давно (serp.py:359), а бэкфилл подключён к нему в PR #3222. Заодно докстринг называл не тот ограничитель: свип кладёт не счётчик провалов lease, а break по первому DomClickBlockedError (#2854) — до ротации дело не доходит ни при каком счётчике, отсюда buckets_completed=0. Только комментарии, поведение не меняется. Миграция 175 уже применена, а _schema_migrations трекает по имени файла без checksum — правка текста её не перезапустит.
39 lines
2.2 KiB
PL/PgSQL
39 lines
2.2 KiB
PL/PgSQL
-- 85_pzz_zones_ekb.sql
|
||
-- Таблица территориальных зон ЕКБ из Росреестр PKK6 (Публичная кадастровая карта).
|
||
--
|
||
-- Данные: ArcGIS REST https://pkk.rosreestr.ru/arcgis/rest/services/PKK6/ZONES/MapServer/5/query
|
||
-- Загружается через Celery task tasks.pzz_sync.sync_pzz_zones_ekb
|
||
-- (ad-hoc: POST /api/v1/admin/scrape/pzz-sync).
|
||
--
|
||
-- Зависимости: PostGIS (уже установлен); PostgreSQL 15+ для UNIQUE NULLS NOT
|
||
-- DISTINCT на rosreestr_id (prod — PG16, postgis/postgis:16-3.4).
|
||
-- Применять: psql gendesign < data/sql/85_pzz_zones_ekb.sql
|
||
|
||
BEGIN;
|
||
|
||
CREATE TABLE IF NOT EXISTS pzz_zones_ekb (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
rosreestr_id BIGINT, -- OBJECTID из PKK6
|
||
zone_code TEXT, -- "Ж-2.1", "ОД-1" и т.д.
|
||
zone_name TEXT, -- полное наименование зоны
|
||
description TEXT,
|
||
raw_props JSONB DEFAULT '{}'::jsonb,
|
||
geom GEOMETRY(MultiPolygon, 4326) NOT NULL,
|
||
fetched_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||
-- NULLS NOT DISTINCT (PG15+): rosreestr_id nullable (PKK6 при f=geojson иногда
|
||
-- кладёт OBJECTID в feature-level id, а не в properties → loader получает NULL).
|
||
-- Без этого NULL != NULL в обычном UNIQUE → ON CONFLICT (rosreestr_id) НЕ матчит
|
||
-- существующие NULL-строки → каждый повторный sync копит дубли зон (#1361).
|
||
-- Прецедент в репо: м.110 (uq_infra_dedupe), м.125, м.140.
|
||
UNIQUE NULLS NOT DISTINCT (rosreestr_id)
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS pzz_zones_ekb_geom_idx ON pzz_zones_ekb USING GIST(geom);
|
||
CREATE INDEX IF NOT EXISTS pzz_zones_ekb_code_idx ON pzz_zones_ekb (zone_code);
|
||
|
||
COMMENT ON TABLE pzz_zones_ekb IS
|
||
'Территориальные зоны ЕКБ из Росреестр PKK6 (Public Cadastral Map). '
|
||
'Содержит границы зон + код/имя. '
|
||
'Регламенты (max_height, FAR) — отдельно через pzz_regulations.';
|
||
|
||
COMMIT;
|