[파이썬] Psycopg2에서 연결 객체의 속성 및 메서드

Psycopg2는 Python에서 PostgreSQL 데이터베이스에 연결하고 상호 작용하는 데 사용되는 강력한 라이브러리입니다. Psycopg2를 사용하여 연결 객체를 만들고 데이터베이스와의 통신에 사용할 수 있습니다. 이 연결 객체는 다양한 속성과 메서드를 가지고 있습니다. 이번 블로그 포스트에서는 Psycopg2의 연결 객체의 일부 속성과 메서드를 살펴보겠습니다.

연결 객체 생성하기

Psycopg2를 사용하여 데이터베이스에 연결하기 위해 psycopg2.connect() 메서드를 사용합니다. 이 메서드는 데이터베이스 연결 정보를 매개변수로 받아 예상대로 연결이 되면 연결 객체를 반환합니다.

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myuser",
    password="mypassword"
)

위의 코드는 로컬 호스트에 위치한 “mydatabase” 데이터베이스에 “myuser”로 연결하는 예시입니다. psycopg2.connect() 메서드는 psycopg2.extensions.connection 클래스의 인스턴스를 반환합니다.

연결 객체 속성

dsn

연결 객체의 dsn 속성은 현재 연결의 데이터베이스 연결 문자열을 반환합니다. 연결 문자열은 데이터베이스의 종류, 호스트, 포트, 사용자이름 등 연결 설정에 대한 정보를 가지고 있습니다.

print(conn.dsn)
# output: "dbname=mydatabase user=myuser password=mypassword host=localhost"

closed

연결 객체의 closed 속성은 연결이 닫혔는지 여부를 나타내는 부울(Boolean) 값입니다. 연결이 닫히면 True를 반환하고, 아직 열려있는 경우 False를 반환합니다.

print(conn.closed)
# output: False

연결 객체 메서드

cursor()

cursor() 메서드를 사용하여 데이터베이스에 대한 새로운 커서를 만들 수 있습니다. 커서를 사용하여 SQL 쿼리를 실행하고 결과를 가져올 수 있습니다.

cur = conn.cursor()

commit()

commit() 메서드는 현재 트랜잭션을 커밋하여 데이터베이스에 변경 사항을 유지합니다. 커밋을 하지 않으면 변경 사항은 롤백되고 트랜잭션이 취소됩니다.

conn.commit()

close()

close() 메서드를 사용하여 연결을 닫을 수 있습니다. 연결을 닫으면 연결 객체의 모든 리소스가 해제되고 다시 열 수 없습니다.

conn.close()

결론

Psycopg2의 연결 객체는 데이터베이스 연결 및 상호 작용에 필수적인 속성과 메서드를 가지고 있습니다. 이 포스트에서는 속성의 예시로 dsnclosed를 설명했으며, 메서드의 예시로 cursor(), commit(), close()를 다루었습니다. 연결 객체를 다룰 때 이러한 속성과 메서드를 적절하게 활용하여 데이터베이스에 효과적으로 접속하고 작업할 수 있습니다.