asyncpg เป็นไลบรารีอินเทอร์เฟซฐานข้อมูลที่ออกแบบมาสำหรับ PostgreSQL และ Python/asyncio โดยเฉพาะ asyncpg เป็นการใช้งานโปรโตคอลไบนารี่ของเซิร์ฟเวอร์ PostgreSQL ที่มีประสิทธิภาพและสะอาดตา เพื่อใช้กับเฟรมเวิร์ก asyncio
ของ Python คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ asyncpg ได้ในโพสต์บล็อกเบื้องต้น
asyncpg ต้องใช้ Python 3.8 ขึ้นไป และรองรับ PostgreSQL เวอร์ชัน 9.5 ถึง 17 PostgreSQL เวอร์ชันอื่นๆ หรือฐานข้อมูลอื่นๆ ที่ใช้โปรโตคอล PostgreSQL อาจ ใช้งานได้ แต่ไม่ได้รับการทดสอบอย่างจริงจัง
สามารถดูเอกสารประกอบโครงการได้ที่นี่
ในการทดสอบ asyncpg ของเรานั้น โดยเฉลี่ยแล้วเร็วกว่า psycopg3 ถึง 5 เท่า
ผลลัพธ์ข้างต้นเป็นค่าเฉลี่ยทางเรขาคณิตของการวัดประสิทธิภาพที่ได้รับจากเครื่องมือวัดประสิทธิภาพไดรเวอร์ไคลเอนต์ PostgreSQL ในเดือนมิถุนายน 2023 (คลิกที่แผนภูมิเพื่อดูรายละเอียดทั้งหมด)
asyncpg ใช้โปรโตคอลเซิร์ฟเวอร์ PostgreSQL แบบเนทีฟและเปิดเผยคุณลักษณะโดยตรง แทนที่จะซ่อนไว้ด้านหลังส่วนหน้าทั่วไป เช่น DB-API
สิ่งนี้ทำให้ asyncpg มีการสนับสนุนที่ใช้งานง่ายสำหรับ:
คำแถลงที่เตรียมไว้
เคอร์เซอร์แบบเลื่อนได้
การวนซ้ำบางส่วน กับผลลัพธ์ของแบบสอบถาม
การเข้ารหัสและถอดรหัสอัตโนมัติของประเภทคอมโพสิต อาร์เรย์ และการรวมกันของสิ่งเหล่านั้น
การสนับสนุนที่ตรงไปตรงมาสำหรับประเภทข้อมูลที่กำหนดเอง
asyncpg พร้อมใช้งานบน PyPI เมื่อไม่ได้ใช้การตรวจสอบสิทธิ์ GSSAPI/SSPI จะไม่มีการขึ้นต่อกัน ใช้ pip เพื่อติดตั้ง:
$ pip ติดตั้ง asyncpg
หากคุณต้องการการตรวจสอบสิทธิ์ GSSAPI/SSPI ให้ใช้:
$ pip ติดตั้ง 'asyncpg [gssauth]'
สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบ
นำเข้า asyncioimport asyncpgasync def run():conn = รอ asyncpg.connect (ผู้ใช้ = 'ผู้ใช้', รหัสผ่าน = 'รหัสผ่าน', ฐานข้อมูล = 'ฐานข้อมูล', โฮสต์ = '127.0.0.1') ค่า = รอ conn.fetch ('SELECT * จาก mytable โดยที่ id = $1',10, ) รอ conn.close()asyncio.run(run())
asyncpg ได้รับการพัฒนาและจัดจำหน่ายภายใต้ลิขสิทธิ์ Apache 2.0