FastAPI는 빠르고 현대적인 웹 애플리케이션을 개발하기 위한 웹 프레임워크입니다. PostgreSQL은 강력한 오픈 소스 관계형 데이터베이스 시스템입니다. 이번 포스팅에서는 FastAPI와 PostgreSQL을 연동하는 방법에 대해 알아보겠습니다.
FastAPI
FastAPI는 Python을 사용하여 강력한 API를 빠르고 쉽게 작성할 수 있도록 지원하는 웹 프레임워크입니다. FastAPI는 Starlette 웹 프레임워크에 기반하며, Pydantic과 같은 모델을 사용하여 input validation과 serialization을 제공합니다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
FastAPI를 사용하면 간단한 선언적 구문으로 빠르게 API를 구축할 수 있습니다.
PostgreSQL
PostgreSQL은 강력한 오픈 소스 관계형 데이터베이스 시스템으로, ACID(Atomicity, Consistency, Isolation, Durability) 특성 및 다양한 데이터 타입을 지원합니다. PostgreSQL은 대규모의 데이터베이스를 안정적으로 다룰 수 있는 기능을 제공합니다.
import psycopg2
conn = psycopg2.connect(
dbname="mydb",
user="myuser",
password="mypassword",
host="localhost"
)
PostgreSQL을 사용하면 안전하고 확장 가능한 데이터베이스 솔루션을 구축할 수 있습니다.
FastAPI와 PostgreSQL 연동
FastAPI와 PostgreSQL을 연동하려면 psycopg2나 SQLAlchemy와 같은 데이터베이스 드라이버를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행해야 합니다.
from fastapi import FastAPI
import psycopg2
app = FastAPI()
conn = psycopg2.connect(
dbname="mydb",
user="myuser",
password="mypassword",
host="localhost"
)
cur = conn.cursor()
@app.get("/")
async def read_data():
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()
return rows
위의 예제에서는 FastAPI 애플리케이션과 PostgreSQL 데이터베이스를 연결하고, 데이터를 가져오기 위한 간단한 SQL 쿼리를 실행하는 방법을 보여줍니다.
FastAPI와 PostgreSQL을 연동하면 빠르고 안전한 API를 구축하고 데이터베이스를 효과적으로 활용할 수 있습니다.
이상으로 FastAPI와 PostgreSQL의 연동에 대해 알아보았습니다.