모든 테이블에는 여러 가지무지개 토토 열무지개 토토에 의해 암시 적으로 정의됩니다. 따라서 이러한 이름은 사용자 정의 열의 이름으로 사용할 수 없습니다.
Tableoid
#이 행이 포함 된 테이블의 OID. 이 열은 특히 분할 된 테이블에서 선택한 쿼리에 특히 편리합니다 (배트맨 토토 PostgreSQL : 문서 : 16 : 5.11. 테이블 파티셔닝) 또는 상속 계층 (참조섹션 5.10), 그것 없이는 행이 어떤 개별 테이블에서 왔는지 알기가 어렵 기 때문에 어렵습니다. 그만큼Tableoid
에 가입 할 수 있습니다OID
열의 열pg_class
테이블 이름을 얻으려면
xmin
#이 행 버전에 대한 트랜잭션 삽입의 ID (트랜잭션 ID). (행 버전은 행의 개별 상태입니다. 행의 각 업데이트는 동일한 논리 행에 새 행 버전을 만듭니다.)
cmin
#삽입 트랜잭션 내에서 명령 식별자 (0에서 시작)
xmax
#삭제 트랜잭션의 ID (Transaction ID) 또는 배정되지 않은 행 버전의 경우 0. 이 열은 보이는 행 버전에서 0이 아닌 것이 가능합니다.
cmax
#삭제 트랜잭션 내 명령 식별자 또는 0
CTID
#테이블 내의 행 버전의 물리적 위치. 비록CTID
행 버전을 매우 빨리 찾는 데 사용될 수 있습니다.CTID
업데이트되거나 이동하면 변경됩니다진공 Full
. 그러므로CTID
는 장기 행 식별자로 쓸모가 없습니다. 기본 키는 논리적 행을 식별하기 위해 사용해야합니다.
트랜잭션 식별자도 32 비트 수량입니다. 장기 데이터베이스에서는 트랜잭션 ID가 마무리 될 수 있습니다.25 장자세한 내용. 그러나 장기적으로 거래 ID의 독창성에 의존하는 것은 현명하지 않습니다 (10 억 명 이상의 거래).
명령 식별자도 32 비트 수량입니다. 이것은 2의 단단한 제한을 만듭니다.32(4 억)SQL단일 트랜잭션 내에서 명령. 실제로이 한도는 문제가되지 않습니다. 한도는의 수입니다.SQL처리 된 행의 수가 아닌 명령. 또한 실제로 데이터베이스 내용을 수정하는 명령 만 명령 식별자를 소비합니다.
문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면