-- IP(프록시 포트) 세션 종료 이력 — 요청 예산(LPS_IP_REQUEST_BUDGET) 상한 튜닝의 원천 데이터. -- bot_detection 은 차단된 세션만 남지만, 여기엔 무사 종료(budget/window 등)도 남는다. -- 적용: psql -h -U -d lps_db -f migrations/2026-07-13-ip_session.sql -- (postgres-init/init-data/init.sql 의 lps_db 섹션에도 동일 DDL 반영됨 — 신규 설치는 그쪽이 소스) CREATE TABLE IF NOT EXISTS ip_session ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), source VARCHAR(20) NOT NULL, -- coupang 등 proxy_port INTEGER NULL, -- 사용 포트(=IP 세션), 프록시 미사용이면 NULL requests INTEGER NOT NULL, -- 이 IP 로 보낸 요청 수 ok_count INTEGER NOT NULL DEFAULT 0, -- 성공 검색 수 blocked_count INTEGER NOT NULL DEFAULT 0, -- 차단 감지 수 elapsed_sec INTEGER NULL, -- 세션 지속 시간(초) end_reason VARCHAR(20) NOT NULL, -- budget/block/proxy_error/window/idle/shutdown/rotate created_at TIMESTAMPTZ NOT NULL DEFAULT now() -- 세션 종료 시각 ); CREATE INDEX IF NOT EXISTS ix_ip_session_source ON ip_session (source, created_at);