Development/파이썬 [Python]

[Python] 파이썬 postgresql 접속 및 select 하기

요체크다 2020. 12. 30. 02:07
반응형

 파이썬에서 제공해주는 라이브러리 중에서 "psycopg2" 라고 하는 라이브러리를 통해 PostgreSQL을 접속하여 Database 정보 확인이 가능합니다.

 psycopg2 라이브러리는 pip install 명령어를 통해 쉽게 설치가 가능하며, 저 같은 경우에는 모든 작업을 파이참을 통해 진행하기 때문에 파이참을 통해 psycopg2 라이브러리를 설치하였습니다.

 참고로 파이참에서 라이브러리를 설치 하는 경우 File - Setting - Project Interpreter 메뉴에서 해당 라이브러리를 찾아서 설치하였으니 참조 바랍니다.


1. 접속하기

# host : PostgreSQL 서버 IP

# dbname : 접속하고자 하는 Database 명

# user : 접속하고자 하는 Database 계정

# password = 접속하고자 하는 Databsae User의 비밀번호

#

import psycopg2

# Try to connect
try:
    conn = psycopg2.connect(host="127.0.0.1", dbname="testdb", user="testuser", password="abc123")
except:
    print("Not Connected!.")

 만약 Database에 접속이 되지않아 PostgreSQL 자체에서 발생하는 로그를 바로 확인하고자 하는 경우에는 except 코드 부분을 아래와 같이 수정하면 좀더 자세한 Database 접속에러 내역을 볼 수 있습니다.

except psycopg2.DatabaseError as db_err:
    print(db_err)

[ DB Connect Error 예시 ]


2. 조회하기

import psycopg2

# Try to connect
try:
    conn = psycopg2.connect(host="127.0.0.1", dbname="testdb", user="testuser", password="abc123")

    cur = conn.cursor()
    cur.execute("select * from urlstate;")
    rows = cur.fetchall()

    print(rows)

except psycopg2.DatabaseError as db_err:
    print(db_err)

[ 쿼리 가로 결과 예시 ]

 위 샘플코드를 실행하면 기본적으로 실행 결과가 가로로 표기가 되게 됩니다. 쿼리 결과를 세로로 보고자 하는 경우에는 "print(rows)" 코드 부분을 아래와 같이 수정하면 세로 형태로 확인이 가능합니다.

for i in rows:
    print(i)

[ 쿼리 세로 결과 예시 ]

 

반응형