| 포스트그레SQL 7.4.30 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 7.4 : 와이즈 토토 정의 | 빠르게 뒤로 | 제5장. 데이터 정의 | 빨리 감기 | 다음 |
모든 테이블에는 여러 개가 있습니다.토토 핫 열토토 핫에 의해 암시적으로 정의됩니다. 그러므로, 이러한 이름은 사용자 정의 열의 이름으로 사용할 수 없습니다. (이러한 제한사항은 이름이 핵심 단어인지 아닌지; 이름을 인용해도 탈출할 수 없습니다 이러한 제한사항이 있습니다.) 실제로 걱정할 필요는 없습니다. 이 열이 존재한다는 것만 알아두세요.
객체 행의 식별자(객체 ID)입니다. 일련번호입니다 자동으로 추가되는 것입니다.포스트그레SQL모든 테이블 행에( 테이블은 다음을 사용하여 생성되었습니다.없이 OIDS, 이 경우 이 열은 존재하지 않습니다). 이 열은 유형입니다.oid(동일한 이름 열); 참조PostgreSQL : 문서유형에 대한 자세한 내용을 확인하세요.
이 행을 포함하는 테이블의 OID. 이 칼럼은 상속에서 선택하는 쿼리에 특히 유용합니다. 계층 구조가 없으면 어느 계층인지 알기 어렵습니다. 개별 테이블에서 행이 나왔습니다.테이블로이드다음에 대해 합류할 수 있습니다.oid열pg_class테이블 이름을 얻으려면.
삽입 ID(거래 ID) 이 행 버전에 대한 트랜잭션입니다. (행 버전은 행의 개별 상태; 행을 업데이트할 때마다 동일한 논리적 행에 대한 새 행 버전입니다.)
명령 식별자(0부터 시작) 거래를 삽입하는 중입니다.
삭제 ID(거래 ID) 트랜잭션이거나 삭제되지 않은 행 버전의 경우 0입니다. 그것은 이 열은 보이는 행에서 0이 아닐 수 있습니다. 버전: 일반적으로 삭제 중임을 나타냅니다. 트랜잭션이 아직 커밋되지 않았거나 시도가 있었습니다. 삭제가 롤백되었습니다.
삭제 트랜잭션 내의 명령 식별자, 또는 0입니다.
행 버전의 물리적 위치 테이블. 참고하세요.ctid행을 찾는 데 사용할 수 있습니다. 버전이 매우 빠르게, 한 행ctid업데이트될 때마다 변경됩니다. 또는 이사했습니다진공이 가득 참. 그러므로ctid장기적으로는 쓸모가 없습니다 행 식별자. OID 또는 더 나은 사용자 정의 일련 번호는 논리적 행을 식별하는 데 사용되어야 합니다.
OID는 32비트 수량이며 단일에서 할당됩니다. 클러스터 전체 카운터. 규모가 크거나 수명이 긴 데이터베이스에서는 카운터를 감싸는 것이 가능합니다. 그러므로 그것은 나쁘다. 조치를 취하지 않는 한 OID가 고유하다고 가정하는 연습을 하십시오. 고유한지 확인하세요. OID 사용 시 권장되는 방법 행 식별을 위해 고유한 제약 조건을 생성하는 것입니다. OID가 사용될 각 테이블의 OID 컬럼입니다. 절대로 OID는 테이블 전체에서 고유하다고 가정합니다. 다음의 조합을 사용하세요.테이블로이드및 필요한 경우 행 OID 데이터베이스 전체 식별자입니다. (향후 릴리스토토 핫별도의 OID를 사용할 가능성이 높습니다. 각 테이블마다 카운터가 있으므로테이블로이드 반드시다음 목적지에 도착하기 위해 포함되어야 합니다 전역적으로 고유한 식별자입니다.)
거래 식별자도 32비트 수량입니다. 에서 수명이 긴 데이터베이스에서는 트랜잭션 ID를 래핑할 수 있습니다. 주변. 적절한 유지 관리를 통해 치명적인 문제는 아닙니다. 절차; 참조토토 핫 PostgreSQL : 문서 : 7.4 : 일상적인 데이터베이스 유지 관리 작업용 세부 사항. 그러나 그 고유성에 의존하는 것은 현명하지 못하다. 장기적으로 거래 ID(10억 개 이상) 거래).
명령 식별자도 32비트 수량입니다. 이것은 하드 제한 232(40억)SQL단일 트랜잭션 내의 명령. 에서 이 제한을 실천하는 것은 문제가 되지 않습니다. --- 제한은 다음과 같습니다. 수에 따라SQL명령, 아님 처리된 행 수입니다.
| PostgreSQL : 문서 : 7.4 : 와이즈 토토 정의 | 홈 | 다음 |
| 데이터 정의 | 위로 | 기본값 값 |