이 문서는 지원되지 않는 버전의 토토 사이트 추천을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 5.6. 젠 토토 열버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

5.4. 토토 사이트 추천 열

모든 테이블에는 여러 가지토토 사이트 추천 열토토 사이트 추천에 의해 암시 적으로 정의됩니다. 따라서 이러한 이름은 사용자 정의 열의 이름으로 사용할 수 없습니다. (이 제한은 이름이 핵심 단어인지 아닌지와 분리되어 있습니다. 이름을 인용하면 이러한 제한을 피할 수 없습니다.)이 열에 대해 걱정할 필요는 없습니다. 그들이 존재한다는 것을 알고 있습니다.

OID

행의 객체 식별자 (객체 ID). 이 열은 테이블을 사용하여 작성된 경우에만 존재합니다.OIDS와 함께또는default_with_oids구성 변수가 당시에 설정되었습니다. 이 열은 유형입니다OID(열과 동일); 보다PostgreSQL : 문서 : 9.5 : 객체 식별자 토토 핫유형에 대한 자세한 정보.

Tableoid

이 행이 포함 된 테이블의 OID. 이 열은 상속 계층 중에서 선택한 쿼리에 특히 편리합니다 (참조무지개 토토 PostgreSQL : 문서 : 9.5 : 상속), 그것 없이는 행이 어떤 개별 테이블에서 왔는지 알기가 어렵 기 때문에 어렵습니다. 그만큼Tableoid에 가입 할 수 있습니다OID열의 열pg_class테이블 이름을 얻으려면

xmin

이 행 버전에 대한 트랜잭션 삽입의 ID (트랜잭션 ID). (행 버전은 행의 개별 상태입니다. 행의 각 업데이트는 동일한 논리 행에 새 행 버전을 만듭니다.)

cmin

삽입 트랜잭션 내에서 명령 식별자 (0에서 시작)

xmax

삭제 트랜잭션의 ID (Transaction ID) 또는 배출되지 않은 행 버전의 경우 0. 이 열은 보이는 행 버전에서 0이 아닌 것이 가능합니다. 이는 일반적으로 삭제 거래가 아직 커밋되지 않았거나 삭제 시도가 롤백되었음을 나타냅니다.

cmax

삭제 트랜잭션 내 명령 식별자 또는 0.

CTID

테이블 내에서 행 버전의 물리적 위치. 비록CTID행 버전을 매우 빨리 찾는 데 사용될 수 있습니다.CTID업데이트되거나 이동하면 변경됩니다진공 Full. 그러므로CTID장기 행 식별자로서 쓸모가 없습니다. OID 또는 더 나은 사용자 정의 일련 번호를 사용하여 논리적 행을 식별해야합니다.

OIDS는 32 비트 수량이며 단일 클러스터 전체 카운터에서 할당됩니다. 크거나 오래된 데이터베이스에서는 카운터가 포장 할 수 있습니다. 따라서, 이것이 사실을 확인하기위한 조치를 취하지 않는 한 OID가 독특하다고 가정하는 것은 나쁜 관행입니다. 테이블에서 행을 식별 해야하는 경우 시퀀스 생성기를 사용하는 것이 강력히 권장됩니다. 그러나 몇 가지 추가 예방 조치가 취해지면 OID도 사용할 수 있습니다.

  • OID가 행을 식별하는 데 사용되는 각 테이블의 OID 열에 고유 한 제약 조건을 생성해야합니다. 이러한 고유 한 제약 조건 (또는 고유 인덱스)이 존재하면 시스템은 이미 존재하는 행과 일치하는 OID를 생성하지 않도록주의합니다. (물론 이것은 테이블에 2 미만이 포함되어있는 경우에만 가능합니다32(40 억) 행, 실제로 테이블 크기는 그보다 훨씬 적거나 성능이 어려울 수있었습니다.)

  • OIDS는 테이블 전체에 독특하다고 가정해서는 안됩니다. 의 조합 사용Tableoid및 ROW OID 데이터베이스 전체 식별자가 필요한 경우

  • 물론 문제의 테이블을 만들어야합니다OIDS와 함께. 기준토토 사이트 추천 8.1, OIDS없이기본값입니다.

트랜잭션 식별자도 32 비트 수량입니다. 장기 데이터베이스에서는 트랜잭션 ID가 마무리 될 수 있습니다. 적절한 유지 보수 절차를 고려할 때 이것은 치명적인 문제가 아닙니다. 보다윈 토토 : 문서 : 9.5 : 일상적인 데이터베이스 유지 관리 작업자세한 내용. 그러나 장기적으로 거래 ID의 독창성에 의존하는 것은 현명하지 않습니다 (10 억 명 이상의 거래).

명령 식별자도 32 비트 수량입니다. 이것은 2의 단단한 제한을 만듭니다.32(4 억)SQL단일 트랜잭션 내 명령. 실제로이 한도는 문제가되지 않습니다. 한도는의 수입니다.SQL처리 된 행의 수가 아닌 명령. 또한 실제로 데이터베이스 내용을 수정하는 명령 만 명령 식별자를 소비합니다.