Я запрашиваю базу данных PostgreSQL через библиотеку psycopg2. Ответ на запрос таким образом: объектный файл курсора . Из-за размера запроса я пытаюсь избежать повторного запроса и вместо этого - сохранить результат запроса как pickle .
К сожалению, когда я пытаюсь выполнить код для что:
import psycopg2
import pickle
# Connect to an existing database
conn = psycopg2.connect(dbname="DB", user="my_user", password="****", host="12.34.56.78")
# Open a cursor to perform database operations
cur = conn.cursor()
# Query the database and obtain data as Python objects
cur.execute("SELECT * FROM my_table[...];")
# Attempt to pickle the output
pickle_out = open("output.pickle","wb")
pickle.dump(cur, pickle_out)
pickle_out.close()
# Close communication with the database
cur.close()
conn.close()
Возникло сообщение об ошибке:
TypeError: can't pickle psycopg2.extensions.cursor objects
Какой простой способ сохранить результаты запроса SQL через python для дальнейшего использования ?
Примечание: я не обязан использовать рассол. Мне показалось, что это оптимальное решение.