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로 도 확인해보니 데이터가 잘 삽입되었네요 :)

키워드 'with' 근처의 구문이 잘못되었습니다. 이 문이 공통 테이블 식이거나, xmlnamespaces 절이거나, 변경 내용 추적 컨텍스트 절인 경우에는 이전 문을 세미콜론으로 종료해야 합니다.

  MSSQL에서 임시테이블(with)쿼리를 작성하다보면 위와 같은 에러가 종종 발생합니다.

해결은 허무할 만큼 에러 메시지에 간단하게 나와있습니다

'With'앞에 세미콜론(;)만 붙여주면 됩니다.

-- WITH 앞에 세미콜론을 붙여주세요 --
;WITH '임시테이블명' AS (
			SELECT *
			  FROM	A   
			
			UNION ALL
			
			SELECT *			 
			  FROM	B
			 )
     select * from '임시테이블명'

+ Recent posts