В чём разница между psycopg2 и asyncpg?

Middle
235 просмотров
AFK Offer AI

psycopg2 — синхронный драйвер, C-обёртка над libpq. Стандарт для Django, синхронного SQLAlchemy. Поддерживает server-side cursors, COPY, все фичи PostgreSQL. asyncpg — асинхронный, написан на Cython, работает напрямую с binary protocol PostgreSQL. В 3-5 раз быстрее psycopg2 на бенчмарках. Не совместим с psycopg2 API — свой интерфейс. Для FastAPI + async — asyncpg. Для Django — psycopg2. psycopg3 — компромисс: поддерживает и sync и async, но медленнее asyncpg.

Следующий вопрос

Как оптимизировать asyncio производительность?