장고에 Booking
모델이 있고 그 ID는 장고가 생성하는 빌드 id
열입니다. 여기가 포스트 그레스에 데이터베이스 수준에서 보이는 방법은 다음과 같습니다왜 모델 ID가 항상 Postgres/Django의 다음 증분 번호가 아닌가요?
integer not null default nextval('bookings_booking_id_seq'::regclass)
클라이언트는 오늘이 숫자가 순차적 것 같다하지만 항상 연속 아니라는 것을 걱정 호출했다. 예를 들어, 순서는 다음과 같습니다 :
..2, ..3, ..4, ..6, ..8, ..9
그들은 시스템이 예약을 삭제하거나 삭제할 우려가 있습니다. ..5
및 ..7
은 어디에 있습니까? [실질적으로] 으로 예약을 삭제할 수 있으므로 시스템 문제가 아닙니다. 프로그래머의 직감은 Auto-ID에서 연속성을 기대하지 말라고 가르쳐 줬지만 직감만으로는 클라이언트에게 설명하기에 충분하지 않습니다.
Postgres가이 ID를 할당 할 때 숫자를 건너 뛰는 기술적 인 이유가 있습니까? postgres docs 가입일
트랜잭션이 롤백 될 때 시퀀스에 * holes *이있을 수 있습니다. 기술적 인 이유는 시퀀스가 lockfree (그렇지 않으면 locking-hotspot 또는 funnel이 될 수 있습니다)입니다. – joop