Колонка признана невыразимой в этой таблице (#2674, диагноз в миграции 217): позиция
есть свойство пары «объявление × конкретный прогон выдачи с конкретными фильтрами», а
PRIMARY KEY (listing_id, snapshot_date) держит одну строку на объявление в сутки —
за 2026-08-03 по этому ключу писали 13 разных run_id и четыре SERP-источника.
Шаг 1 (правка писателя) уже на проде, поэтому окна «SQL применяется до перезапуска
контейнеров» больше нет. Предусловие проверено по коду В КОНТЕЙНЕРАХ, а не по зелёному
деплою: grep по /app в tradein-scraper и tradein-backend находит имя колонки ровно в
четырёх строках docstring'а snapshot_writer.py и ни в одном SQL; сигнатура
upsert_listing_snapshot колонку не содержит; второй писатель
(deactivate_stale_avito._STALE_SNAPSHOT_TAIL) перечисляет колонки явно и этой в списке
не имеет.
Читателей нет: 0 непустых значений из 397 217 строк на проде, 0 зависимых view/matview
(pg_depend → pg_rewrite), ни индексов, ни триггеров, ни foreign table над таблицей;
в коде нет ни одного SELECT-читателя (SELECT * по таблице отсутствует), фронт,
экспортёры и админка колонку не упоминают.
Refs #2697