asyncpg é uma biblioteca de interface de banco de dados projetada especificamente para PostgreSQL e Python/asyncio. asyncpg é uma implementação eficiente e limpa do protocolo binário do servidor PostgreSQL para uso com a estrutura asyncio
do Python. Você pode ler mais sobre o asyncpg em uma postagem introdutória do blog.
asyncpg requer Python 3.8 ou posterior e é compatível com as versões 9.5 a 17 do PostgreSQL. Outras versões do PostgreSQL ou outros bancos de dados que implementam o protocolo PostgreSQL podem funcionar, mas não estão sendo testados ativamente.
A documentação do projeto pode ser encontrada aqui.
Em nossos testes, o asyncpg é, em média, 5x mais rápido que o psycopg3.
Os resultados acima são uma média geométrica de benchmarks obtidos com o banco de ferramentas de benchmarking de driver cliente PostgreSQL em junho de 2023 (clique no gráfico para ver os detalhes completos).
asyncpg implementa o protocolo de servidor PostgreSQL nativamente e expõe seus recursos diretamente, em vez de ocultá-los atrás de uma fachada genérica como DB-API.
Isso permite que o asyncpg tenha suporte fácil de usar para:
declarações preparadas
cursores roláveis
iteração parcial nos resultados da consulta
codificação e decodificação automática de tipos compostos, matrizes e qualquer combinação desses
suporte direto para tipos de dados personalizados
asyncpg está disponível no PyPI. Quando não estiver usando a autenticação GSSAPI/SSPI, não há dependências. Use pip para instalar:
$ pip instalar assíncrono
Se você precisar de autenticação GSSAPI/SSPI, use:
$ pip instalar 'asyncpg[gssauth]'
Para mais detalhes, consulte a documentação.
importar asyncioimport asyncpgasync def run():conn = aguardar asyncpg.connect(user='usuário', senha='senha', banco de dados='banco de dados', host='127.0.0.1')valores = aguardar conn.fetch('SELECT * FROM minhatabela WHERE id = $1',10, )aguarde conn.close()asyncio.run(run())
asyncpg é desenvolvido e distribuído sob a licença Apache 2.0.