Бях разстроен, когато видях, че това няма отговор... Сблъсках се с абсолютно същия проблем онзи ден:Опитвам се да вмъкна масово около милиони редове в екземпляр на Postgres RDS, използвайки CORE. Отне часове .
Като заобиколно решение в крайна сметка написах свой собствен скрипт за групово вмъкване, който генерира самия необработен sql:
bulk_insert_str = []
for entry in entry_list:
val_str = "('{}', '{}', ...)".format(entry["column1"], entry["column2"], ...)
bulk_insert_str.append(val_str)
engine.execute(
"""
INSERT INTO my_table (column1, column2 ...)
VALUES {}
""".format(",".join(bulk_insert_str))
)
Макар и грозно, това ми даде необходимата производителност (~500 000 реда/минута)
Намерихте ли базирано на CORE решение? Ако не, надявам се това да помогне!
АКТУАЛИЗАЦИЯ:В крайна сметка преместих стария си скрипт в резервен екземпляр на EC2, който не използвахме, което всъщност поправи проблема с ниската производителност. Не съм сигурен каква е вашата настройка, но очевидно има мрежово напрежение при комуникация с RDS от външна (не-AWS) връзка.