df.to_ sql проблема производительности с psycopg2 - PullRequest
0 голосов
/ 30 марта 2020

У меня все еще проблема с моим кодом. Я могу подключиться к слону sql postre sql DB. И я могу сделать запрос на это. Но когда я хочу добавить 168 строк (из фрейма данных) в существующую таблицу, он останавливается через 10 минут с этой ошибкой: (psycopg2.errors.QueryCanceled) отмена оператора из-за тайм-аута оператора)

Возможно, некоторые можете мне помочь?

conn = ElephantConnect()
db = create_engine(DATABASE_URL,executemany_mode='batch',client_encoding='utf8')

@event.listens_for(db, 'before_cursor_execute')
def receive_before_cursor_execute(conn, cursor, statement, params, context, executemany):
    if executemany:
        cursor.fast_executemany = True
        cursor.commit()
cursor =conn.cursor()

df определен ранее и работает, как table_name

    try:
        df.to_sql(table_name, db, if_exists="replace", method='multi')


    except Exception as exc:
        logging.info('Inserted error into table {} {}'.format( table_name, exc))
        conn.close
...