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 라이브러리
0 개의 댓글:
댓글 쓰기