-- Phase 5: 종목 페이지 익명 조회 카운터. -- (code, view_date) PK 로 일 단위 집계. Redis/KV 없이 PG 만으로 충분 — 쓰기 빈도가 -- 낮고(페이지 진입 시 클라이언트 측에서 하루 1회로 dedupe), UPSERT 1회 비용은 무시 가능. -- symbols(code) FK 는 일부러 안 걺 — 삭제된/오타 코드 방문에도 카운터가 죽지 않게. \set ON_ERROR_STOP on CREATE TABLE IF NOT EXISTS symbol_views_daily ( code TEXT NOT NULL, view_date DATE NOT NULL, views INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (code, view_date) ); CREATE INDEX IF NOT EXISTS symbol_views_daily_date_idx ON symbol_views_daily (view_date DESC); COMMENT ON TABLE symbol_views_daily IS 'Phase 5: 종목 페이지 익명 조회 카운터. 일 단위 UPSERT(+1). 클라이언트가 localStorage 로 dedupe.';