Python 라이브러리 psycopg2로 PostgreSQL 데이터베이스 연결

psycopg2란?

PostgreSQL 전용 Python과 연결을 지원하는 라이브러리

다중 스레드와 대량 데이터 처리 지원

 

psycopg2 주요 기능

  • 트랜잭션 관리 commit(), rollback()
  • SQL 실행 execute(), executemany()를 사용해 쿼리 실행하고 데이터 삽입 조회
  • 결과 처리 fetchone(), fetchall()로 쿼리 결과 가져옴
pip install psycopg2

 

conn (connection 객체) 

connpsycopg2.connet() 호출로 반환된 객체

connection 생성해서 PostgreSQL 데이터베이스 연결후 관련 메소드 사용해서 SQL 실행

import psycopg2

# conn 객체 생성 (PostgreSQL과 연결)
conn = psycopg2.connect(
	dbname="dbname",
    user="user",
    password="password",
    host="host",
    port=5439
)

 

  • conn.cursor()
    •     SQL 실행을 위한 커서 객체 반환
    •     생성된 커서를 통해 SQL문을 실행하거나 결과를 가져옴
# 커서 생성
cur = conn.cursor()

# SQL 실행
cur.execute("SELECT * FROM example;")
  • conn.commit()
    •  현재 트랙잭션의 변경 사항을 영구적으로 저장(autocommit=True, 변경사항 즉시 적용)
    •  autocommit=False 라면, 데이터베이스에 변경 사항 적용시 명시적으로 호출 필요
  •  conn.rollback()
    • 현재 트랜잭션을 롤백하여 변경사항 취소
    • autocommit=False일때 사용
  • conn.close()
    • 데이터베이스 연결 닫기
    • 모든 작업이 완료되면 호출하기
  • conn.set_session()
    • 세션 속성을 설정
    • autocommit 여부 등
  • conn.isolation_level
    • 트랜잭션의 격리 수준 설정
    • READ COMMITTED, SERIALIZABLE 등
  • conn.poll()
    • 연결 상태 반환
    • 비동기 작업에서 유용
  • conn.info
    • 연결에 대한 정보를 담고 있는 객체