asyncpg adalah perpustakaan antarmuka database yang dirancang khusus untuk PostgreSQL dan Python/asyncio. asyncpg adalah implementasi protokol biner server PostgreSQL yang efisien dan bersih untuk digunakan dengan kerangka asyncio
Python. Anda dapat membaca lebih lanjut tentang asyncpg di postingan blog pengantar.
asyncpg memerlukan Python 3.8 atau lebih baru dan didukung untuk PostgreSQL versi 9.5 hingga 17. Versi PostgreSQL lain atau database lain yang mengimplementasikan protokol PostgreSQL mungkin berfungsi, tetapi tidak diuji secara aktif.
Dokumentasi proyek dapat ditemukan di sini.
Dalam pengujian kami, asyncpg rata-rata 5x lebih cepat dibandingkan psycopg3.
Hasil di atas adalah rata-rata geometrik tolok ukur yang diperoleh dengan toolbench benchmarking driver klien PostgreSQL pada bulan Juni 2023 (klik pada grafik untuk melihat detail selengkapnya).
asyncpg mengimplementasikan protokol server PostgreSQL secara asli dan menampilkan fitur-fiturnya secara langsung, bukan menyembunyikannya di balik fasad umum seperti DB-API.
Hal ini memungkinkan asyncpg memiliki dukungan yang mudah digunakan untuk:
pernyataan yang telah disiapkan
kursor yang dapat digulir
iterasi parsial pada hasil kueri
pengkodean dan penguraian otomatis tipe komposit, array, dan kombinasi apa pun darinya
dukungan langsung untuk tipe data khusus
asyncpg tersedia di PyPI. Saat tidak menggunakan autentikasi GSSAPI/SSPI, ia tidak memiliki ketergantungan. Gunakan pip untuk menginstal:
$ pip instal asyncpg
Jika Anda memerlukan autentikasi GSSAPI/SSPI, gunakan:
$ pip instal 'asyncpg[gssauth]'
Untuk lebih jelasnya, silakan lihat dokumentasi.
import asyncioimport asyncpgasync def run():conn = menunggu asyncpg.connect(pengguna='pengguna', kata sandi='kata sandi', database='database', host='127.0.0.1')nilai = menunggu conn.fetch('PILIH * DARI tabel saya DIMANA id = $1',10, )menunggu samb.close()asyncio.run(run())
asyncpg dikembangkan dan didistribusikan di bawah lisensi Apache 2.0.