PostgreSQL과 psycopg2 – Python에서 DB 다루기

Sue·2025년 6월 10일
0

1. PostgreSQL이란?

✔ 정의

PostgreSQL은 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 즉, 데이터를 테이블 형식으로 저장하고, 이를 SQL(Structured Query Language)로 관리할 수 있게 해주는 시스템입니다.

✔ 주요 특징

  • 무료 & 오픈소스
  • ACID 트랜잭션 보장
  • 확장성 좋고 다양한 데이터 타입 지원
  • JSON, GIS(지리정보) 등 비정형 데이터도 지원

✔ 예시

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name TEXT,
    age INT
);

이런 SQL문으로 테이블을 만들고 데이터를 추가하거나 조회할 수 있습니다.

2. psycopg2란?

✔ 정의

psycopg2는 Python에서 PostgreSQL에 연결하고 SQL을 실행할 수 있게 해주는 라이브러리입니다.

✔ 하는 일

  • Python 코드로 PostgreSQL 서버에 접속
  • SQL을 실행하고 결과를 받아오기
  • 트랜잭션 처리 (commit/rollback)
  • 안전한 파라미터 전달(SQL Injection 방지)

✔ 설치

pip install psycopg2

또는 환경에 따라 psycopg2-binary도 가능:

pip install psycopg2-binary

3. PostgreSQL + psycopg2 연결 예시

import psycopg2

# 1. DB 연결
conn = psycopg2.connect(
    dbname="testdb",
    user="postgres",
    password="yourpassword",
    host="localhost",
    port="5432"
)

# 2. 커서 생성
cur = conn.cursor()

# 3. SQL 실행
cur.execute("SELECT * FROM users;")

# 4. 결과 가져오기
rows = cur.fetchall()
for row in rows:
    print(row)

# 5. 연결 종료
cur.close()
conn.close()

간단 요약

용어설명
PostgreSQL데이터를 저장/관리하는 고성능 데이터베이스 시스템
psycopg2Python에서 PostgreSQL과 연결하고 SQL을 실행할 수 있게 해주는 라이브러리
cursorSQL 실행과 결과 조회의 핵심 객체
mogrifySQL문을 실제 실행하지 않고 문자열로 출력해주는 도구 (디버깅용)
profile
AI/ML Engineer

0개의 댓글