Как экспортировать большую таблицу PostgreSQL с помощью Python
Простой экспорт большой таблицы может привести к сбою компьютера из-за использования всей доступной оперативной памяти, поэтому мы предлагаем метод с помощью Python.
Простой экспорт большой таблицы может привести к сбою компьютера из-за использования всей доступной оперативной памяти, поэтому мы предлагаем метод с помощью Python.
При работе с большими наборами данных таблицы PostgreSQL обычно извлекаются в файлы CSV для анализа и совместного использования. Но простой экспорт большой таблицы может привести к сбою компьютера из-за использования всей доступной оперативной памяти. Рассказываем, как решить этот вопрос при помощи Python. Об этом пишет dev.to.
Потоковая передача данных частями с помощью psycopg2
Потоковая передача данных порционно, которая идет из базы данных непосредственно на диск. Модуль psycopg2 предоставляет удобный метод COPY, позволяющий сделать именно это.
Сначала подключитесь к базе данных и откройте выходной CSV:
import psycopg2
conn = psycopg2.connect("dbname=mydb user=postgres")
with open('out.csv', 'w') as f:
Затем используйте copy_expert() для потоковой передачи таблицы в файл частями:
cur = conn.cursor()
cur.copy_expert('COPY employees TO STDOUT WITH CSV HEADER', f)
Таблица передается в CSV без загрузки всего в память. Теперь собираем все вместе
import psycopg2
conn = psycopg2.connect("dbname=mydb user=postgres")
with open('out.csv', 'w') as f:
cur = conn.cursor()
cur.copy_expert('COPY employees TO STDOUT WITH CSV HEADER', f)
print("Table exported to CSV!")
Передавая данные частями непосредственно в файл, можно избежать проблем с оперативной памятью и эффективно экспортировать таблицу.
Язык C# от Microsoft обгоняет Java в индексе популярности языка Tiobe, и эта тенденция может вскоре привести к тому, что C# превзойдет Java.
Компания Genmo анонсировала выпуск модели Mochi 1 — своей первой открытой версии модели для генерации видео, призванной составить конкуренцию таким проектам, как Sora и Runway. Mochi 1 лицензируется по Apache 2.0, что делает её доступной как для личного, так и для коммерческого использования, и открывает новые возможности для всех, кто ищет высококачественный инструмент для генерации видео.
Сообщество разработки взволновано неожиданной новостью: Deno, известная среда выполнения для JavaScript и TypeScript, инициировала петицию в Бюро патентов и торговых марок США (USPTO) с требованием аннулировать право Oracle на торговую марку JavaScript. Об этом заявил создатель Deno и Node.js Райан Даль в понедельник.
По словам разработчиков, Catalyst — это первый полностью компонентизованный UI-kit, который выполнен по концепции Batteries Included («Всё включено»). В нем используются настоящие компоненты React с продуманными API.