이 섹션에서는 다음 작업에 필요한 기능을 설명합니다.롤 토토 객체, 롤 토토 생성기 또는 단순히 롤 토토라고도 합니다. 롤 토토 객체는 다음을 사용하여 생성된 특수 단일 행 테이블입니다.롤 토토 생성. 롤 토토 개체는 일반적으로 테이블 행에 대한 고유 식별자를 생성하는 데 사용됩니다. 다음에 나열된 롤 토토 함수표 9.53, 롤 토토 객체에서 연속적인 롤 토토 값을 얻기 위한 간단하고 다중 사용자에게 안전한 메서드를 제공합니다.
표 9.53. 롤 토토 함수
|
기능 설명 |
|---|
|
롤 토토 개체를 다음 값으로 전진시키고 해당 값을 반환합니다. 이는 원자적으로 수행됩니다. 여러 세션이 실행되더라도 이 기능에는 다음이 필요합니다 |
|
롤 토토 개체의 현재 값을 설정하고 선택적으로 그 값을 설정합니다. SELECT setval('myseq', 42);다음
다음에 의해 반환된 결과 이 기능에는 다음이 필요합니다. |
|
가장 최근에 얻은 값을 반환합니다. 이 기능에는 다음이 필요합니다. |
|
가장 최근에 반환한 값을 반환합니다. 이 기능에는 다음이 필요합니다. |
동일한 롤 토토에서 숫자를 얻는 동시 트랜잭션을 차단하지 않으려면 다음에서 얻은 값다음값호출 트랜잭션이 나중에 중단되면 재사용을 위해 회수되지 않습니다. 이는 트랜잭션 중단이나 데이터베이스 충돌로 인해 할당된 값 순서에 차이가 발생할 수 있음을 의미합니다. 이는 트랜잭션 중단 없이도 발생할 수 있습니다. 예를 들어삽입그리고충돌 중절은 필요한 작업을 포함하여 삽입될 튜플을 계산합니다다음값다음을 따르게 하는 충돌을 감지하기 전에 호출충돌 중18480_18503PostgreSQL롤 토토 객체얻는 데 사용할 수 없습니다.“틈없는”롤 토토.
마찬가지로 다음에 의해 롤 토토 상태가 변경되었습니다.setval다른 트랜잭션에 즉시 표시되며 호출 트랜잭션이 롤백되어도 취소되지 않습니다.
다음을 포함하는 트랜잭션을 커밋하기 전에 데이터베이스 클러스터가 충돌하는 경우다음값또는setval호출, 롤 토토 상태 변경이 영구 저장소로 전달되지 않았을 수 있으므로 클러스터가 다시 시작된 후 롤 토토가 원래 상태를 갖게 될지 아니면 업데이트된 상태를 갖게 될지는 확실하지 않습니다. 커밋되지 않은 트랜잭션의 다른 효과도 표시되지 않으므로 이는 데이터베이스 내에서 롤 토토를 사용하는 데 해롭지 않습니다. 그러나 데이터베이스 외부의 지속적인 목적으로 롤 토토 값을 사용하려면 다음을 확인하십시오.다음값그렇게 하기 전에 호출이 커밋되었습니다.
롤 토토 함수에 의해 작동될 롤 토토는 다음으로 지정됩니다.regclass인수는 단순히 롤 토토의 OID입니다.pg_class시스템 카탈로그. 그러나 OID를 직접 찾을 필요는 없습니다.regclass데이터 유형의 입력 변환기가 대신 작업을 수행합니다. 보다PostgreSQL : 문서 : 17 : 8.19. 객체 식별자 와이즈 토토자세한 내용은.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.