python으로 postgres를 다룰 수 있습니다.
1. 파이썬 패키지 설치
postgres를 다루기 위한 파이썬 패키지(psycopg2)을 설치해줍니다.
pip install psycopg2-binary
2. postgres DB 연결
# PostgreSQL 연결 정보 설정
db_params = {
"dbname": "postgres",
"user": "postgres",
"password": "1234",
"host": "localhost",
"port": "5432"
}
# PostgreSQL 연결
conn = psycopg2.connect(**db_params)
위 코드로 간단하게 연결할 수 있습니다.
db접근을 위한 연결정보인 db_params 변수에 오타나 잘못된 값이 입력되면 psycopg2.connect() 함수가 실행될 때 에러가 발생합니다.
오류가 발생했다면 DB가 제대로 설치되었는지, 오타가 없는지 확인이 필요합니다.
3. 간단한 테이블을 생성하고 INSERT 쿼리를 실행해보기
# 테이블 생성 쿼리
create_table_query = """
CREATE TABLE IF NOT EXISTS logging (
log_id SERIAL PRIMARY KEY,
log_datetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
car_number VARCHAR(20),
image_file_name VARCHAR(255),
json_file_name VARCHAR(255),
saved_location VARCHAR(255)
);
"""
cursor = conn.cursor()
cursor.execute(create_table_query)
# 로그 정보
log_data = {
"car_number": "ABC123",
"image_file_name": "example_image.jpg",
"json_file_name": "example_json.json",
"saved_location": "/path/to/save/location"
}
# 로그 정보 삽입
insert_query = """
INSERT INTO logging (car_number, image_file_name, json_file_name, saved_location)
VALUES (%s, %s, %s, %s);
"""
cursor.execute(insert_query, (
log_data["car_number"],
log_data["image_file_name"],
log_data["json_file_name"],
log_data["saved_location"]
))
# 변경사항 커밋
conn.commit()
# 연결 및 커서 닫기
cursor.close()
conn.close()
위 예제는 주차장이나 건물 차량 입구의 입출차에 대한 cctv 기록을 저장하는 테이블입니다.
'logging'이라는 테이블을 만들고 자동차 번호, 차량 촬영 이미지, 차량 정보 json 파일, cctv 위치 등의 데이터를 insert 해봤습니다.
DBeaver로 도 확인해보니 데이터가 잘 삽입되었네요 :)
'Daily Commit' 카테고리의 다른 글
Windows Server에 SSH 설정하기 (0) | 2024.08.07 |
---|---|
MacOS Finder에서 윈도우 SFTP 서버에 연결(마운트)하기 (0) | 2024.08.07 |
[논문소개] Comparing YOLOv8 and Mask RCNN for object segmentation in complex orchard environments (0) | 2024.06.05 |