diff --git a/app/services/alpaca_price_service.py b/app/services/alpaca_price_service.py index ab8698f..3ee5c51 100644 --- a/app/services/alpaca_price_service.py +++ b/app/services/alpaca_price_service.py @@ -164,8 +164,11 @@ class AlpacaPriceService: }) if rows: - # Chunk to stay under asyncpg's 32767-param limit (~11 params/row → 2900/chunk) - CHUNK = 2900 + # Chunk to stay under asyncpg's 32767-param limit (14 params/row → 2300/chunk) + # 14 params: id/ticker/date/open/high/low/close/volume/vwap/trade_count/ + # interval/data_source/created_at/updated_at + # 2300 × 14 = 32,200 < 32,767 + CHUNK = 2300 for i in range(0, len(rows), CHUNK): stmt = pg_insert(AlpacaPriceData).values(rows[i : i + CHUNK]) stmt = stmt.on_conflict_do_nothing(constraint="uq_alpaca_price_data")