Экспортирование таблицы из postgresql с помощью psycopg2
Имеется большой скрипт для записи данных в таблицу, есть требование по экспорту устаревших данных из бд для хранения
def export_data(cursor, name, connection):
try:
print(f''' COPY '{name}' TO '/tmp/databases/{name}/{name}_{datetime.now().strftime("%d_%m_%y")}.csv' WITH (FORMAT CSV, HEADER) ''')
insert_table_query = f''' COPY '{name}' TO '/tmp/databases/{name}/{name}_{datetime.now().strftime("%d_%m_%y")}.csv' WITH (FORMAT CSV, HEADER) '''
cursor.execute(insert_table_query)
connection.commit()
except Exception and errors as e:
print(e)
Ошибка
Connection to PostgreSQL DB successful
COPY 'sprint' TO '/tmp/databases/sprint/sprint_30_08_22.csv' WITH (FORMAT CSV, HEADER)
catching classes that do not inherit from BaseException is not allowed
Не совсем понятно как реализовать экспотирования таблиц
Ответы (1 шт):
Автор решения: Miekrif
→ Ссылка
В библиотеке pcycopg2 есть нативный метод .copy_to()
Мое решение cursor.copy_to(f'/tmp/databases/{name}/{name}_{datetime.now().strftime("%d_%m_%y")}.csv')
def export_data(cursor, name, connection):
try:
cursor.copy_to(f'/tmp/databases/{name}/{name}_{datetime.now().strftime("%d_%m_%y")}.csv')
except errors and Exception as e:
print(e)