문제
INSERT INTO
jeswrt_itl_performcurve(REG_DT, RATE, BLOW, PAST, STATUS, BLOW_KEY)
VALUES
( current_timestamp, 10, 20, 30, 'N',40);
분명 동일한 쿼리, 동일한데이터, 컬럼 확인 다 동일하게하고 했지만
계속 현장DB에서만 에러가 났다
개발서버는 잘들어감
에러 로그를 보니 특이한점이 있었다.
idx 값은 이미 108이 넘었는데
새로들어갈 값은 109가 들어가야하는데
에러 로그를 보면 idx=15 키가 이미 있다는 것을 볼 수 있다.
구글링 해보니
테이블별 시퀀스 번호가 따로 존재한다고 함
SELECT last_value FROM jeswrt_itl_performcurve_idx_seq;
개발서버는 110 이었으나
현장은 16이었음
그래서 중복이 발생했던것
해결
이값을 늘려보자
SELECT setval('jeswrt_itl_performcurve_idx_seq', 110, true);
반응형
'서버&백엔드 > 🗃️ DataBase' 카테고리의 다른 글
관계형DB(RDB) vs 비관계형 DB(NoSQL) (0) | 2025.02.03 |
---|---|
정규화 과정 (0) | 2025.01.21 |
DBeaver Functions Comment 표시설정하는법 (0) | 2024.08.07 |
PostgreSQL | 쿼리 성능 분석하기 (1) | 2024.07.03 |
추출한 CSV파일 채우기 드래그 한번에 하기 (0) | 2024.06.30 |