이 섹션에서 작동 함수를 설명합니다와이즈 토토 개체, 와이즈 토토 생성기 또는 단지 와이즈 토토라고도합니다. 와이즈 토토 객체는로 만든 특수 단일 열 테이블입니다.PostgreSQL. 와이즈 토토 객체는 일반적으로 테이블 행에 고유 식별자를 생성하는 데 사용됩니다. 나열된 와이즈 토토 함수표 9.55, 와이즈 토토 객체에서 연속적인 와이즈 토토 값을 얻기위한 간단하고 멀티 우스터-안전 방법을 제공합니다.
표 9.55. 와이즈 토토 기능
기능 설명 |
---|
와이즈 토토 객체를 다음 값으로 발전시키고 해당 값을 반환합니다. 이것은 원자 적으로 완료됩니다 : 여러 세션이 실행 되더라도 이 기능이 필요합니다 |
와이즈 토토 객체의 현재 값을 설정하고 선택적으로 SELECT SETVAL ( 'MySeq', 42);다음 결과는 이 기능이 필요합니다 |
가장 최근에 얻은 값을 반환합니다 이 기능이 필요합니다 |
가장 최근에 반환 한 값을 반환합니다 이 기능이 필요합니다 |
동일한 와이즈 토토에서 숫자를 얻는 동시 트랜잭션 차단을 피하기 위해NextVal
호출 트랜잭션이 나중에 중단되면 재사용을 위해 되 찾을 수 없습니다. 이는 트랜잭션 중단 또는 데이터베이스 충돌로 인해 지정된 값 순서가 차이가 발생할 수 있음을 의미합니다. 거래 중단 없이도 발생할 수 있습니다. 예를 들어삽입
with충돌
조항은 필요한 모든 작업을 포함하여 삽입 된 튜플을 계산합니다NextVal
전화를 걸어 |충돌
대신 규칙. 따라서,PostgreSQL와이즈 토토 개체획득 할 수 없습니다“Gapless”와이즈 토토.
마찬가지로, 와이즈 토토 상태 변경에 의해 만들어진 와이즈 토토 상태 변경setVal
다른 거래에 즉시 볼 수 있으며, 호출 트랜잭션이 롤백되면 취소되지 않습니다.
데이터베이스 클러스터가 a를 포함하기 전에 데이터베이스 클러스터가 충돌하는 경우NextVal
또는setVal
Call, 와이즈 토토 상태 변경은 영구 저장소로 향하지 않았을 수 있으므로 클러스터가 다시 시작된 후 와이즈 토토가 원래 또는 업데이트 된 상태를 가질 지 여부는 확실하지 않습니다. 커밋되지 않은 트랜잭션의 다른 효과도 표시되지 않기 때문에 데이터베이스 내 와이즈 토토 사용에는 무해합니다. 그러나 지속적인 다타베이스 목적으로 와이즈 토토 값을 사용하려면을 확인하십시오.NextVal
그렇게하기 전에 전화가 커졌습니다.
와이즈 토토 함수에 의해 작동 할 와이즈 토토는 a에 의해 지정됩니다.Regclass
인수, 이것은 단순히 와이즈 토토의 OID입니다PG_CLASS
시스템 카탈로그. 그러나 이후로 Oid를 직접 찾을 필요는 없습니다.Regclass
Data Type의 입력 변환기가 귀하를 위해 작업을 수행합니다. 보다Postgresql: Tài liệu: 18: 8.19. Loại định danh đối tượ사설 토토 사이트자세한 내용.