PostgreSQL 이관 뒤 자동 INSERT가 중복 키로 실패하면 시퀀스를 확인한다
명시적 ID를 넣은 이관은 시퀀스를 전진시키지 않을 수 있다. PostgreSQL 18.6에서 자동 INSERT 충돌, setval의 true·false와 빈 테이블, 롤백 후 남는 번호를 비교하고 실제 생성 경로와 쓰기 중단 조건을 확인한다.
빌드노트
검색어를 입력해 글을 찾아보세요.
총 480개의 글
명시적 ID를 넣은 이관은 시퀀스를 전진시키지 않을 수 있다. PostgreSQL 18.6에서 자동 INSERT 충돌, setval의 true·false와 빈 테이블, 롤백 후 남는 번호를 비교하고 실제 생성 경로와 쓰기 중단 조건을 확인한다.
목록을 읽는 while read 안의 자식 명령이 같은 stdin을 소비하면 루프가 첫 항목에서 끝날 수 있다. cat으로 남은 두 줄이 읽히는 출력을 비교하고, 빈 입력 제공과 read -u 3을 통한 입력 분리를 선택한다.
FormData 전송에 수동 Content-Type을 넣으면 boundary가 누락되거나 본문과 달라질 수 있다. 실제 브라우저의 네 요청에서 헤더·경계 바이트·파싱 결과를 대조하고, 브라우저가 multipart 헤더를 만들도록 수정하는 방법을 설명한다.
Spring @Cacheable의 인자 조건은 condition, 반환값에 따른 저장 거부는 unless로 나눈다. 실패·성공 반환값의 실제 본문 실행 수와 캐시 엔트리를 비교하고, 이미 저장된 실패 값에는 새 unless가 적용되지 않는 범위도 확인한다.
DISTINCT ON은 그룹마다 첫 행을 남기므로 최신 시각과 동률 ID 규칙을 ORDER BY에 적어야 한다. PostgreSQL 18.6에서 시각·ID 정렬 방향, 잘못된 선두 정렬의 42P10 오류, 대표행 선택 뒤 표시 순서를 실제 비교했다.
PostgreSQL의 DESC는 기본적으로 NULL을 앞에 둔다. 네 개의 합성 행으로 ASC·DESC·NULLS LAST와 LIMIT 1을 비교하고, 동률 보조 키와 날짜 없는 행을 제외할 조건을 정한다.
Boolean.getBoolean은 문자열 값이 아니라 JVM 시스템 속성 이름을 받는다. 속성 없음과 -Dlab.flag=true/false를 별도 JVM에서 비교하고, parseBoolean으로 바꿀 경우와 속성 원문을 확인할 경우를 구분한다.
DNS 전환 전 새 IP를 HTTPS로 검사할 때는 URL의 도메인을 유지하고 curl --resolve로 연결 주소만 바꾼다. 전용 CA와 loopback TLS 서버에서 Host·SNI·인증서 이름 검증을 비교하고 Windows Schannel의 미완료 조건도 구분한다.
curl은 기본적으로 URL의 점 경로를 전송 전에 정리한다. 세 경로를 기본 조건과 --path-as-is로 보내 실제 수신 요청 줄을 비교하고, curl의 처리와 서버의 후속 해석을 구분한다.
사용자 @Bean이 JsonCodec 객체를 반환해도 Object로 선언하면 자동 설정의 타입 조건이 그 Bean을 놓칠 수 있다. ApplicationContextRunner에서 반환 타입과 자동 설정 순서를 바꿔 비교하고, 조건 보고서로 원인을 확인하는 방법을 설명한다.
form.submit()은 required 검사와 submit 이벤트를 생략한다. 새 Chrome 프로필과 로컬 수신 서버로 네 제출 경로를 비교하고, 검증·이벤트·버튼의 name=value가 필요한 경우 requestSubmit에 무엇을 넘길지 설명한다.
Range를 보냈어도 서버는 전체 내용을 200으로 반환할 수 있다. 고정 16바이트의 206·200·416 응답을 비교하고, Content-Range와 실제 바이트·같은 버전을 확인해 조각 결합과 전체 재시작을 결정한다.