[파이썬] Psycopg2에서 INET 및 CIDR 데이터 타입 처리

Psycopg2는 파이썬에서 PostgreSQL 데이터베이스와 상호작용하기 위한 인터페이스입니다. 이 라이브러리를 사용하여 INET 및 CIDR과 같은 특정 데이터 타입을 처리할 수 있습니다. INET은 IP 주소를 나타내는 데이터 타입이고, CIDR은 IP 주소와 넷마스크를 포함한 데이터 타입입니다.

이 글에서는 Psycopg2를 사용하여 INET 및 CIDR 데이터 타입을 처리하는 방법을 살펴보겠습니다. 아래의 예제 코드를 통해 실제로 어떻게 작업하는지 알아보겠습니다.

Psycopg2 설치

먼저 Psycopg2를 설치해야 합니다. 아래의 명령을 사용하여 Psycopg2를 설치할 수 있습니다.

pip install psycopg2

INET 데이터 타입 처리

다음은 INET 데이터 타입을 처리하는 예제 코드입니다.

import psycopg2

# PostgreSQL 데이터베이스에 연결
conn = psycopg2.connect(database="your_database_name", user="your_username",
                        password="your_password", host="your_host", port="your_port")

# 커서 생성
cur = conn.cursor()

# INET 데이터를 담을 변수
ip_address = "192.168.0.1"

# 데이터베이스에 INET 데이터 타입 삽입
cur.execute("INSERT INTO your_table_name (ip_column) VALUES (%s)", (psycopg2.extensions.INET(ip_address),))

# 커밋
conn.commit()

# 데이터베이스에서 INET 데이터 가져오기
cur.execute("SELECT ip_column FROM your_table_name")
result = cur.fetchone()

# IP 주소 값 추출
ip = result[0]

# 화면에 출력
print(ip)

# 커넥션 종료
conn.close()

위의 예제에서는 psycopg2.extensions.INET()을 사용하여 ip_address 변수를 INET 데이터 타입으로 변환하고 데이터베이스에 삽입합니다. 마찬가지로 데이터베이스에서 INET 데이터를 가져올 때도 psycopg2.extensions.INET()을 사용하여 해당 데이터를 추출할 수 있습니다.

CIDR 데이터 타입 처리

다음은 CIDR 데이터 타입을 처리하는 예제 코드입니다.

import psycopg2

# PostgreSQL 데이터베이스에 연결
conn = psycopg2.connect(database="your_database_name", user="your_username",
                        password="your_password", host="your_host", port="your_port")

# 커서 생성
cur = conn.cursor()

# CIDR 데이터를 담을 변수
cidr_address = "192.168.0.0/24"

# 데이터베이스에 CIDR 데이터 타입 삽입
cur.execute("INSERT INTO your_table_name (cidr_column) VALUES (%s)", (psycopg2.extensions.CIDR(cidr_address),))

# 커밋
conn.commit()

# 데이터베이스에서 CIDR 데이터 가져오기
cur.execute("SELECT cidr_column FROM your_table_name")
result = cur.fetchone()

# CIDR 값 추출
cidr = result[0]

# 화면에 출력
print(cidr)

# 커넥션 종료
conn.close()

위의 예제에서도 INET 데이터 타입 처리와 비슷하게 psycopg2.extensions.CIDR()을 사용하여 cidr_address 변수를 CIDR 데이터 타입으로 변환하고 데이터베이스에 삽입합니다.

Psycopg2를 사용하면 INET 및 CIDR과 같은 특정 데이터 타입을 손쉽게 처리할 수 있습니다. 데이터베이스에 IP 주소와 넷마스크 데이터를 저장하고 검색하는 작업을 수행할 때, Psycopg2의 유연한 기능을 활용할 수 있습니다.

이 글을 통해 Psycopg2에서 INET 및 CIDR 데이터 타입을 처리하는 방법을 알아보았습니다. 이러한 데이터 타입을 다룰 때, Psycopg2는 편하고 강력한 도구로 사용될 수 있습니다.