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

5.2. 토토 핫 열

모든 테이블에는 여러 가지토토 핫 열토토 핫에 의해 암시 적으로 정의됩니다. 그러므로, 이 이름은 사용자 정의 열의 이름으로 사용할 수 없습니다. (이 제한은 이름과 분리되어 있습니다. 핵심 단어 여부입니다. 이름을 인용하면 탈출 할 수 없습니다 이러한 제한 사항.) 당신은 실제로 걱정할 필요가 없습니다. 이 칼럼은 존재한다는 것을 알고 있습니다.

OID

개체 행의 식별자 (객체 ID). 이것은 일련 번호입니다 자동으로 추가됩니다토토 핫모든 테이블 행에 (그렇지 않으면 테이블은를 사용하여 작성되었습니다.OIDS,이 경우이 열은 존재하지 않습니다). 이것 열은 유형입니다OID(와 같은 이름 열); 보다PostgreSQL : 문서유형에 대한 자세한 정보.

Tableoid

이 행이 포함 된 테이블의 OID. 이 칼럼은입니다 상속에서 선택한 쿼리에 특히 편리합니다 계층 구조는 그것 없이는 어느 것을 말하기가 어렵습니다 개별 테이블 행이 나왔습니다. 그만큼Tableoid에 가입 할 수 있습니다OID열의PG_CLASS테이블 이름을 얻으려면

xmin

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

cmin

명령 식별자 (0에서 시작) 내 거래 삽입.

xmax

삭제의 ID (트랜잭션 ID) 거래되지 않은 행 버전의 경우 트랜잭션 또는 0입니다. 그것은 이 열이 눈에 보이는 행에서 0이 될 수 있습니다. 버전 : 일반적으로 삭제임을 나타냅니다 거래는 아직 약속되지 않았거나 시도하지 않았습니다 삭제가 롤백되었습니다.

cmax

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

CTID

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

OIDS는 32 비트 수량이며 단일에서 할당됩니다. 클러스터 전체 카운터. 크거나 오래된 데이터베이스에서는 그렇습니다 카운터가 포장 할 수 있습니다. 따라서 나쁘다 조치를 취하지 않는 한 OID가 독특하다고 가정하도록 연습하십시오. 그들이 독특한 지 확인하십시오. OID를 사용할 때 권장되는 연습 행 식별은 OID가 사용되는 각 테이블의 OID 열. 절대 OID가 테이블에 걸쳐 독특하다고 가정합니다. 의 조합 사용Tableoid및 ROW OID가 필요한 경우 데이터베이스 전체 식별자. (미래의 릴리스토토 핫별도의 OID를 사용할 가능성이 있습니다 각 테이블에 대한 카운터,Tableoid 필수a 전 세계적으로 고유 한 식별자.)

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

명령 식별자도 32 비트 수량입니다. 이것은 a를 만듭니다 2의 하드 제한32(4 억)SQL단일 트랜잭션 내에서 명령. ~ 안에 이 한도를 연습하는 것은 문제가되지 않습니다 --- 한도는 수의SQL명령이 아닙니다 처리 된 행의 수.