본 글은 파이썬(Python) 3.11 환경에서 파이참(PyCharm) IDE로 psycopg 3를 활용하여 PostgreSQL 16에 접속하고 쿼리를 실행하는 방법을 설명한다.
psycopg 3 설치 방법
터미널로 설치하는 방법
아래의 명령어를 파이참 터미널에서 실행하면 psycopg 3 관련 패키지를 한 번에 설치할 수 있다.
pip install "psycopg[binary]"
눈으로 설치되는 것을 하나씩 확인하고 싶다면 아래의 GUI(Graphical User Interface)로 설치하는 방법을 활용할 수 있다.
GUI로 설치하는 방법
파이참에서 아래의 사진처럼 패키지 관리 화면으로 이동한다.
File → Settings... → Project: postgresql → Python Interpreter
+ 버튼을 클릭하여 패키지 설치 화면으로 이동한다.
'psycopg-binary' 패키지를 조회하고 'Install Package'를 클릭하여 설치한다.
위의 사진처럼 성공적으로 'psycopg-binary' 패키지가 설치되면 같은 방법으로 'psycopg' 패키지와 'typing_extensions' 패키지, 'tzdata' 패키지를 설치한다. 설치 후 'Close' 버튼을 클릭하여 패키지 관리 화면으로 돌아간다.
패키지 목록이 위의 사진처럼 나타난다면 PostgreSQL 연결에 필요한 패키지가 모두 설치된 것이다.
PostgreSQL를 활용하는 파이썬 프로그램 작성
파이썬 파일 생성
PostgreSQL에 연결하여 쿼리를 실행하는 파이썬 프로그램을 작성하기 위해 아래와 같이 example.py 라는 명칭으로 파이썬 파일을 생성한다.
파이썬 프로그램 작성
아래의 소스코드를 생성한 파이썬 파일에 입력한다. PostgreSQL 서버 주소와 포트 번호, DB명칭, 계정 정보는 적절하게 수정한다.
import psycopg
with psycopg.connect("host=10.10.10.10 port=5432 dbname=postgres user=postgres password=password") as connection:
with connection.cursor() as cursor:
try:
# 테이블 생성 쿼리 실행
cursor.execute("""
CREATE TABLE example(
note text,
username text)
""")
# Insert 쿼리 실행
result = cursor.execute("""
INSERT INTO example(note, username) VALUES(%s, %s)
""",
("test!", "hong"))
connection.commit()
print(f"{result}")
cursor.execute("SELECT * FROM example")
rows = cursor.fetchall()
for row in rows:
print(row)
cursor.close()
connection.close()
except Exception as e:
print(f"Error: {e}")
connection.rollback()
실행 결과
실행하면 아래와 같이 콘솔 창에 결과가 나타난다.
참고문서에 보면 psycopg 3가 psycopg 2 보다 처리성능면에서 더 좋고 최신 기능도 더 많이 지원한다고 한다. 신규 프로젝트는 psycopg 3를 활용하는 것이 적합하다.
참고문서
- "[Python] 파이썬 postgresql 접속 및 select 하기", 요체크다, 2020년 12월 30일. @원문보기
- "Installation", psycopg 3.3.0.dev1 documentation. @원문보기
- "Psycopg2 vs Psycopg3 Performance Benchmark", Timescale, 2024년 2월 28일. @원문보기
- "psycopg3 Sync/Async 예제", 태주아빠, 2023년 5월 29일 @원문보기
- "study-python/example_postgresql.py", EngineeringCode, 2025년 1월 15일. @원문보기
'프로그래밍 언어 > Python' 카테고리의 다른 글
[우분투 22.04] 파이썬 3.10 가상환경 생성 및 활성화 방법 (2) | 2024.12.26 |
---|---|
윈도우에서 파이참 터미널이 프로젝트 가상환경을 활용하도록 설정하는 방법 (0) | 2024.04.17 |
No module named 'joblib' 해결 방법 (2) | 2023.11.14 |
No module named 'tensorflow' 해결 방법 (0) | 2023.10.31 |
No module named 'scipy' 해결 방법 (0) | 2023.10.31 |
댓글