이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 8.19. 객체 식별자 사설 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

8.12. 객체 식별자 유형

객체 식별자 (OID)는 내부적으로 사용됩니다PostgreSQL다양한의 기본 키로 시스템 테이블. OID 시스템 열도 사용자 제작에 추가됩니다 테이블,OIDS없는지정되어 있습니다 테이블이 만들어 지거나default_with_oids구성 변수가 False로 설정됩니다. 젠 토토OID객체 식별자를 나타냅니다. 또한 있습니다 에 대한 몇 가지 별칭 젠 토토OID: Regproc, Regrocedure, Regoper, Regoperator, RegclassRegtype. 표 8-19show an 개요.

theOID유형은 현재로 구현되었습니다 서명되지 않은 4 바이트 정수. 따라서 충분히 크지 않습니다 대형 데이터베이스 또는 심지어 데이터베이스 전체의 고유성을 제공합니다 큰 개별 테이블에서. 따라서 사용자가 만든 테이블의 OID를 사용합니다 기본 키로 열이 권장되지 않습니다. OID는 가장 잘 사용됩니다 시스템 테이블에 대한 참조.

참고 :OID는 기본적으로 사용자 제작에 포함됩니다 테이블PostgreSQL8.0.26. 그러나이 행동은 미래에 변화 할 것입니다. 의 버전PostgreSQL. 결국, 사용자가 만든 테이블에는 OID가 포함되지 않습니다 이 아닌 한 시스템 열OIDS와 함께is 테이블이 생성 될 때 지정 또는default_with_oids구성 변수입니다 True로 설정하십시오. 신청서에 AN의 존재가 필요한 경우 테이블의 OID 시스템 열, 지정해야합니다OIDS와 함께해당 테이블이 생성되도록 보장 할 때 향후 릴리스와의 호환성PostgreSQL.

theOID타입 자체에는 작업이 거의 없습니다 비교를 넘어서. 그러나 정수로 캐스트 될 수 있습니다 표준 정수 연산자를 사용하여 조작했습니다. (조심하십시오 이 작업을 수행하면 서명 된 대용자가 부여되지 않은 혼란.)

OID 별칭 유형은 특수 입력 및 출력 루틴. 이 루틴은 할 수 있습니다 시스템 객체에 대한 상징적 이름을 수락하고 표시합니다. 유형의 원시 숫자 값OID사용. 별칭 유형은 OID 값의 단순화 된 조회를 허용합니다. 사물. 예를 들어,를 검사하려면pg_attribute표와 관련된 행mytable, 글을 쓸 수 있습니다

선택 *에서 pg_attribute에서 attrelid = 'mytable':: regclass;

보다는

pg_attribute에서 * 선택 *
  여기서 attrelid = (pg_class에서 Oid를 선택하여 relname = 'mytable');

그 자체로는 그렇게 나쁜 것처럼 보이지는 않지만 여전히 지나치게 단순화. 훨씬 더 복잡한 하위 선택이 필요할 것입니다 이름이 여러 개의 테이블이있는 경우 올바른 OID를 선택하려면mytable다른 스키마에서. 그만큼RegClass입력 변환기가 테이블을 처리합니다 스키마 경로 설정에 따라 조회하면"올바른"자동으로. 마찬가지로, 테이블의 OID를 캐스팅RegClass숫자의 상징적 인 디스플레이에 편리합니다 Oid.

표 8-19. 객체 식별자 유형

이름 참조 설명 값 예제
OID any 숫자 객체 식별자 564182
Regproc PG_PROC 기능 이름 Sum
Regrocedure PG_PROC 인수 젠 토토이있는 함수 sum (int4)
Regoper pg_operator 운영자 이름 +
Regoperator pg_operator 인수 젠 토토이있는 연산자 *(정수, 정수)또는-(없음, 정수)
Regclass pg_class 관계 이름 pg_type
Regtype pg_type 데이터 유형 이름 정수

모든 OID 별칭 유형은 스키마 자격이있는 이름을 허용하고 개체가있는 경우 출력에 스키마 자격 이름이 표시됩니다. 자격이없는 현재 검색 경로에서는 찾을 수 없습니다. 그만큼RegprocandRegoper별칭 유형은 입력 이름 만 허용합니다 고유 한 (과부하되지 않음), 사용이 제한되어 있습니다. 대부분의 경우 사용Regrocedure또는Regoperator더 적합합니다. 을 위한Regoperator, 단술 연산자는 다음으로 식별됩니다 글쓰기없음사용하지 않은 피연산자.

시스템에서 사용하는 다른 식별자 젠 토토은xid또는 트랜잭션 (약어xact) 식별자. 이것이 데이터 젠 토토입니다 시스템 열xminandxmax. 거래 식별자는 32 비트입니다 수량.

시스템에서 사용하는 세 번째 식별자 젠 토토은CID또는 명령 식별자. 이것은 데이터 유형입니다 시스템 열cminandcmax. 명령 식별자도 있습니다 32 비트 수량.

시스템에서 사용하는 최종 식별자 젠 토토은TID또는 튜플 식별자 (행 식별자). 이것은 시스템 열의 데이터 유형CTID. 튜플 ID는 쌍입니다 (블록 번호, 물리적 위치를 식별하는 블록 내 튜플 인덱스) 테이블 안에있는 행의 행.

(시스템 열은 자세히 설명되어섹션 5.4.)