@Smeilz1
За любое развитие

Как запустить несколько python-запросов к базе postgresql одновременно?

Мне нужно выполнять эту функцию, которая делает запросы к базе sql 10 раз одновременно.(для ускорения)
Ну и записывать в файл, в идеале в один, но можно и в разные, если это может вызывать ошибки.
Подскажите как это грамотно делается в python?
P.S. Читал в мануале к postgres "Обычно наибольший выигрыш можно получить с запросами, обрабатывающими большой объём данных, но возвращающими пользователю всего несколько строк."
У меня как раз такие запросы, обрабатываем миллионы строк, а получаем только длину строки- одно число.
P.P.S. Или может проще запустить 2 процесса Python одновременно?
import psycopg2 as p
def poker_function(x):
    xi = np.round(x)
    con = p.connect("dbname='base1' user='postgres' host='localhost'")
    cur = con.cursor()
    cur.execute("select pole1 from database1")
    pole = cur.fetchall()
    res = len(pole)
    return res
    if res < -65
            with open("results.csv", "a") as f:
            f.write(str(xi)) #запись параметров
  • Вопрос задан
  • 2009 просмотров
Решения вопроса 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Возьмите асинхронную библиотеку для постгрес https://github.com/aio-libs/aiopg
И по аналогии первого примера https://habrahabr.ru/post/337420/ запускаете кучу тасков и ждете, когда они все выполнятся.
Ответ написан
@Deq56
Python dev, JS, CSS, Asterisk, Mikrotik
можно попробывать через multiprocessing
но тебе так же необходимо будет создавать новые подключения к БД
https://habrahabr.ru/post/167503/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vshvydky
select * from database1
Ага именно несколько строк ты и возвращаешь, несколько миллионов)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы