asyncpg 는 PostgreSQL 및 Python/asyncio용으로 특별히 설계된 데이터베이스 인터페이스 라이브러리입니다. asyncpg는 Python의 asyncio
프레임워크와 함께 사용하기 위한 PostgreSQL 서버 바이너리 프로토콜의 효율적이고 깔끔한 구현입니다. 소개 블로그 게시물에서 asyncpg에 대한 자세한 내용을 읽을 수 있습니다.
asyncpg에는 Python 3.8 이상이 필요하며 PostgreSQL 버전 9.5~17에서 지원됩니다. 다른 PostgreSQL 버전이나 PostgreSQL 프로토콜을 구현하는 다른 데이터베이스는 작동 할 수 있지만 적극적으로 테스트되지는 않습니다.
프로젝트 문서는 여기에서 찾을 수 있습니다.
테스트에서 asyncpg는 평균적으로 psycopg3보다 5배 빠릅니다.
위 결과는 2023년 6월 PostgreSQL 클라이언트 드라이버 벤치마킹 툴벤치로 얻은 벤치마크의 기하 평균입니다(자세한 내용을 보려면 차트를 클릭하세요).
asyncpg는 PostgreSQL 서버 프로토콜을 기본적으로 구현하고 DB-API와 같은 일반적인 외관 뒤에 숨기지 않고 해당 기능을 직접 노출합니다.
이를 통해 asyncpg는 다음을 쉽게 지원할 수 있습니다.
준비된 진술
스크롤 가능한 커서
쿼리 결과에 대한 부분 반복
복합 유형, 배열 및 이들의 조합에 대한 자동 인코딩 및 디코딩
사용자 정의 데이터 유형에 대한 간단한 지원
asyncpg는 PyPI에서 사용할 수 있습니다. GSSAPI/SSPI 인증을 사용하지 않는 경우에는 종속성이 없습니다. pip를 사용하여 설치:
$ pip 설치 asyncpg
GSSAPI/SSPI 인증이 필요한 경우 다음을 사용하세요.
$ pip install 'asyncpg[gssauth]'
자세한 내용은 설명서를 참조하세요.
import asyncioimport asyncpgasync def run():conn = wait asyncpg.connect(user='user', 비밀번호='password', 데이터베이스='database', 호스트='127.0.0.1')values = wait conn.fetch('SELECT * FROM mytable WHERE id = $1',10, ) conn.close()asyncio.run(run())을 기다립니다.
asyncpg는 Apache 2.0 라이센스에 따라 개발 및 배포됩니다.