## 개요 - PostgreSQL에서 `insert into on conflict do` 문을 실행할 때, 내부적으로 락을 걸지 않고 쿼리를 수행하는 기법 - 락을 걸지 않기 때문에 빠르게 수행이 가능하다. - 한국어로 번역된 케이스가 아직 없는데, '투기적 삽입'이라는 표현이 적절할 것 같다. ## 순서 1. unique contraint를 체크한다. 2. 만약 같은 값이 있다면 `do` 뒤에 있는 명령어를 실행하고 커밋한다. 3. 만약 없다면 insert를 한다. 여기서 없는 것으로 나오더라도 transaction commit할 때는 같은 값이 존재할 수도 있다. 4. transaction 커밋을 시도한다. 5. 만약 커밋을 시도했는데 unique constraint에 걸린다면, insert를 취소하고 1번으로 돌아간다. #db #postgresql