메이저 토토 사이트 9.3.25 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.3 : 스포츠 토토 조건 | 스포츠 토토 베트맨 : 문서 : 9.3 : 데이터 정의 | 5 장 데이터 정의 | PostgreSQL : 문서 : 9.3 : 토토 꽁 머니 토토 꽁 머니 |
모든 테이블에는 여러 가지가 있습니다시스템 열시스템에 의해 암시 적으로 정의됩니다. 따라서이 이름 사용자 정의 열의 이름으로 사용할 수 없습니다. (이것들에 유의하십시오 제한은 이름이 핵심 단어인지 또는 아니다; 이름을 인용하는 것은 당신이 이것들을 피할 수 없습니다. 제한.) 당신은 이것에 대해 걱정할 필요가 없습니다. 열; 그들이 존재한다는 것을 알고 있습니다.
행의 객체 식별자 (객체 ID). 이 칼럼은 전용입니다 테이블을 사용하여 생성 된 경우OIDS또는default_with_oids구성 변수가 당시에 설정되었습니다. 이 열은 유형입니다OID(열과 동일); 보다섹션 8.18에 대한 자세한 내용은 유형.
이 행이 포함 된 테이블의 OID. 이 칼럼은입니다 상속에서 선택한 쿼리에 특히 편리합니다 계층 구조 (참조무지개 토토 PostgreSQL : 문서 : 9.3 : 상속) 그것 없이는 어떤 개별 테이블을 줄을 말하기가 어렵습니다. 왔다. 그만큼Tableoid가입 할 수 있습니다 에 대하여OID열의 열pg_class테이블 이름을 얻으려면
삽입 트랜잭션의 ID (트랜잭션 ID) 이 행 버전. (행 버전은 행의 개별 상태입니다. 행의 각 업데이트는 동일한 논리에 대한 새 행 버전을 만듭니다. 열.)
삽입 내 명령 식별자 (0에서 시작) 거래.
삭제 트랜잭션의 ID (트랜잭션 ID) OR 배출되지 않은 행 버전의 경우 0입니다. 이 열에는 가능합니다 보이는 행 버전에서는 0이 아닙니다. 그것은 일반적으로 그것을 나타냅니다 삭제하는 거래는 아직 커밋되지 않았거나 삭제가 롤백되었습니다.
삭제 트랜잭션 내의 명령 식별자 영.
테이블 내의 행 버전의 물리적 위치. 메모 비록CTID익숙해 질 수 있습니다 행 버전을 매우 빨리 찾으십시오.CTID업데이트되거나 이동하면 변경됩니다진공 Full. 그러므로CTID는 장기 행 식별자로서 쓸모가 없습니다. OID 또는 더 나은 사용자 정의 일련 번호는 논리적 행을 식별하는 데 사용됩니다.
OIDS는 32 비트 수량이며 단일에서 할당됩니다. 클러스터 전체 카운터. 크거나 오래된 데이터베이스에서는 그렇습니다 카운터가 포장 할 수 있습니다. 따라서 나쁜 연습입니다 보장하기위한 조치를 취하지 않는 한 OID가 독특하다고 가정합니다. 이것이 사실입니다. 테이블에서 행을 식별 해야하는 경우 시퀀스 생성기를 사용하는 것이 좋습니다. 그러나 OIDS 몇 가지 추가 예방 조치가 촬영 :
각각의 OID 열에 고유 한 제약 조건을 생성해야합니다. OID를 사용하여 행을 식별하는 데 사용됩니다. 그런 경우 고유 한 제약 (또는 고유 인덱스)이 존재하며 시스템은 관리합니다. 이미 존재하는 행과 일치하는 OID를 생성하지 마십시오. (의 물론, 이것은 테이블에 더 적은 수준의 경우에만 가능합니다. 232(40 억) 행, 실제로 테이블 크기는 그보다 훨씬 적거나 성능이 어려울 수 있습니다.)
OIDS는 테이블 전체에서 독특하다고 가정해서는 안됩니다. 사용하십시오 의 조합Tableoid및 ROW OID IF 데이터베이스 전체 식별자가 필요합니다.
물론 문제의 테이블을 만들어야합니다OIDS와 함께. 기준메이저 토토 사이트 8.1, OIDS기본값입니다.
트랜잭션 식별자도 32 비트 수량입니다. a 수명이 긴 데이터베이스 트랜잭션 ID가 랩을 할 수 있습니다. 약. 이것은 적절한 유지 보수를 고려할 때 치명적인 문제가 아닙니다 절차; 보다롤 토토 : 문서 : 9.3 : 일상적인 데이터베이스 유지 보수 작업세부. 그러나 독창성에 의존하는 것은 현명하지 않습니다. 장기적으로 거래 ID (10 억 이상 업무).
명령 식별자도 32 비트 수량입니다. 이것은 a를 만듭니다 2의 하드 제한32(4 억)SQL단일 트랜잭션 내 명령. ~ 안에 이 한도를 연습하는 것은 문제가되지 않습니다. 한도는 수SQL명령이 아닙니다 처리 된 행의 수. 또한 기준메이저 토토 사이트8.3, 실제로 명령 만 명령합니다 데이터베이스 내용을 수정하면 명령 식별자가 소비됩니다.