-- Trouve-KA — migration 003 : cap réel d'URLs par domaine + autovacuum frontier -- Author: Simon-Pierre Boucher -- Contact: contact@spboucher.ai -- -- 1) domains.url_count : le cap max_urls_per_domain comparait page_count -- (pages crawlées) au lieu du nombre d'URLs connues — un domaine pouvait -- accumuler 20 000+ URLs pending avant que le cap ne morde. -- 2) frontier_items churne énormément (claim/defer/release = UPDATE) : les -- réglages autovacuum par défaut (20 % de la table) laissent s'accumuler -- des centaines de milliers de tuples morts qui ralentissent le claim. BEGIN; ALTER TABLE domains ADD COLUMN IF NOT EXISTS url_count integer NOT NULL DEFAULT 0; UPDATE domains d SET url_count = c.n FROM (SELECT domain_id, count(*) AS n FROM urls GROUP BY domain_id) c WHERE c.domain_id = d.id; ALTER TABLE frontier_items SET ( autovacuum_vacuum_scale_factor = 0.02, autovacuum_vacuum_cost_delay = 0, autovacuum_analyze_scale_factor = 0.05 ); INSERT INTO schema_migrations (version) VALUES (3) ON CONFLICT DO NOTHING; COMMIT;