[python] FastAPI와 PostgreSQL의 연동

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의 연동에 대해 알아보았습니다.