Я нахожусь в процессе миграции приложения из старого развертывания на новый сервер с новым экземпляром базы данных под управлением Postgresql 9.5.15.
Приложение написано с использованием Python и Django. Проблема в том, что одна операция, которую я пытаюсь запустить с использованием БД, включает запись содержимого большого файла CSV в таблицу. Эта функция корректно работает как при старом развертывании, так и при локальном тестировании. Однако в новом развертывании на этом этапе я получаю сообщение об ошибке:
<class 'psycopg2.extensions.QueryCanceledError'> returned a result with an error set
Теперь, читая об этой ошибке, кажется, что проблема заключается в тайм-ауте при попытке скопировать CSV. Неважно, что я пробовал до сих пор, я не могу обойти это. Конкретный код на данный момент выглядит следующим образом:
SQL_STATEMENT = """
SET statement_timeout = 0;
COPY table_in_question FROM STDIN WITH CSV HEADER DELIMITER AS ','
"""
file_object = open('file.csv')
cursor = conn.cursor()
cursor.copy_expert(sql=SQL_STATEMENT, file=file_object)
conn.commit()
cursor.close()
Я неправильно устанавливаю время ожидания? Я считаю, что установка его в ноль предотвращает возникновение тайм-аута.