2015년 12월 29일 화요일

파이썬 PostgreSQL 라이브러리 py-postgresql 퀵 가이드

PostgreSQL을 사용 위해서 psycopg2 라이브러리 구성시 pg_config가 필요한 이유로 패키지를 추가 설치하는 불편함이 있었다.
본문은 (신속하고 편리한 사용을 위해)  py-postgresql 라이브러리로 작업하는 샘플을 요약한다.

py-postgresql 사용

간단한 설치 방법이다.

pip install py-postgresql

문서에서 제공되는 메인 예제이다.

import postgresql



db = postgresql.open("pq://user:password@host/name_of_database")

db.execute("CREATE TABLE emp (emp_name text PRIMARY KEY, emp_salary numeric)")



# Create the statements.

make_emp = db.prepare("INSERT INTO emp VALUES ($1, $2)")

raise_emp = db.prepare("UPDATE emp SET emp_salary = emp_salary + $2 WHERE emp_name = $1")

get_emp_with_salary_lt = db.prepare("SELECT emp_name FROM emp WHERE emp_salay < $1")



# Create some employees, but do it in a transaction--all or nothing.

with db.xact():

    make_emp("John Doe", "150,000")

    make_emp("Jane Doe", "150,000")

    make_emp("Andrew Doe", "55,000")

    make_emp("Susan Doe", "60,000")



# Give some raises

with db.xact():

    for row in get_emp_with_salary_lt("125,000"):

    print(row["emp_name"])

    raise_emp(row["emp_name"], "10,000")

동적 쿼리가 필요한 경우는 prepare 대신에 다음을 사용할 수 있다.

for row in db.query.rows(<query>):
    #row는 dict 형태로 사용됨
    pass

Pandas와 함께 사용하는 방법이다.

from sqlalchemy import create_engine
db = create_engine(“postgresql+pypostgresql://user:password@host/name_of_database”)

참고 자료

SQLAlchemy ORM (Object Relational Mapper)
 - http://docs.sqlalchemy.org/en/latest/dialects/postgresql.html
py-postgresql 라이브러리
 - http://pythonhosted.org/py-postgresql/index.html


커버 사진

0 개의 댓글:

댓글 쓰기