Dev.log

Python - psycopg2을 통해 PostgreSQL 접속 본문

Python

Python - psycopg2을 통해 PostgreSQL 접속

포켓몬빵 2022. 4. 25. 23:03

본 포스팅에서는 파이썬을 통해 대표적인 데이터베이스인 PostgreSQL의 접속방법에 대해 진행해 보도록하겠습니다. 데이터베이스는 대용량의 데이터를 저장하는 가장 대중적인 방법이며 이중 PostgreSQL은 자주 사용되는 오픈소스 데이터 베이스입니다.PostgreSQL을 설치할려면 하기의 링크를 통해 설치를 진행할 수 있습니다.

 

Postgres.app – the easiest way to get started with PostgreSQL on the Mac

Postgres.app is a full featured PostgreSQL installation packaged as a standard Mac app.

postgresapp.com

psycopg2

PostgreSQL을 파이썬 내에서 사용하기위해 psycopg2 라이브러리를 활용할 수 있습니다. Psycopg2라이브러리는 pip을 통해 설치할 수 도 있으며, 아나콘다환경의 경우 conda를 통해 설치할수 있습니다.

pip install psycopg2
conda install -c anaconda psycopg2

데이터베이스 연결하려면 아래의 코드를 통해서 연결할 수 있습니다. psycopg2.connect()를 통해 데이터베이스의 이름, 사용자 및 암호에 대한 쿼리를 전달한뒤 데이터베이스와 통신 할 수 있는 cursor.execute()를 통해 SQL문을 통해 테이블을 생성할 수 있습니다. 즉, connect()는 연결된 DB를 동작시키는 역할을 하고 cursor()는 실질적으로 DB에 쿼리문을 수행하고, 결과를 가져오는 역할을 합니다.

 

아래의 코드를 살펴보면 SERIAL타입의 id를 지닌 test라는 테이블을 만들고, PRIMARY KEY를 생성하고, 길이가 VARCHAR(255)인 code를 생성 후, GEOMETRY타입의 location을 만드는 SQL문입니다.

import psycog2 #psycog2 패키지 임포트

connection = psycopg2.connect(
    database = 'pythonspatial',
    user = 'postgres',
    password = '1234')
cursor = connection.cursor()
cursor.execute("CREATE TABLE test (id SERIAL PRIMARY KEY,\
               code VARCHAR(255), location GEOMETRY)")
connection.commit()

 

Comments