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

8.3. 토토 핫 유형

표 8-4. 토토 핫 유형

이름 설명
캐릭터 변동 (n), varchar (n) 한계가있는 가변 길이
토토 핫 (n), char (n) 고정 길이, 빈 패딩
텍스트 가변 무제한 길이

표 8-4PostgreSQL.

SQL두 개의 기본을 정의합니다 토토 핫 유형 :캐릭터 변동 (n)토토 핫 (n), 여기서n긍정적 인 정수입니다. 둘 다 이러한 유형은 줄을 최대로 저장할 수 있습니다n길이의 토토 핫. 저장하려는 시도 이러한 유형의 열에 더 긴 토토 핫열이 오류, 초과 토토 핫가 모든 공간이 아닌 한 토토 핫열은 최대 길이로 잘립니다. (이것 다소 기괴한 예외가 필요합니다.SQLStandard.) 저장할 토토 핫열이있는 경우 선언 된 길이보다 짧고 유형 값토토 핫공간이 가득합니다. 유형의 값캐릭터 다양한간단히 저장합니다 짧은 토토 핫열.

값을 명시 적으로 값에 캐스트하는 경우토토 핫 다양한 (n)또는토토 핫 (n)오버 길이의 값은n오류를 올리지 않고 토토 핫. (이것은 또한에 의해 필요합니다SQL표준.)

표기법varchar (n)char (n)별칭입니다 을 위한캐릭터 변동 (n)and토토 핫 (n), 각기.캐릭터길이없이 지정자는에 해당합니다.캐릭터 (1). 만약에토토 핫 다양한길이없이 사용됩니다 지정자, 유형은 모든 크기의 토토 핫열을 허용합니다. 후자는입니다.PostgreSQL확장.

또한PostgreSQL제공텍스트유형 길이의 토토 핫열. 비록 유형텍스트SQL표준, 기타 여러 SQL 데이터베이스 관리 시스템도 있습니다.

유형의 값캐릭터물리적입니다 지정된 너비에 공백으로 패딩n, 저장 및 그 방식으로 표시됩니다. 그러나 패딩 공간은 의미 적으로 처리됩니다 의미 없는. 두 가지를 비교할 때 후행 공간이 무시됩니다 유형의 값캐릭터변환 할 때 제거캐릭터값 다른 토토 핫열 유형 중 하나에. 후행 공간are의미 적으로 유의미한캐릭터 다양한and텍스트값.

이러한 유형의 데이터에 대한 스토리지 요구 사항은 4 바이트입니다. 게다가 실제 토토 핫열,의 경우캐릭터패딩과 함께. 긴 줄은 시스템에 의해 압축되어 자동으로 물리적입니다 디스크의 요구 사항은 적을 수 있습니다. 긴 값도 저장됩니다 배경 테이블이므로 빠른 접근을 방해하지 않습니다. 더 짧은 열 값. 어쨌든 가장 긴 가능 저장할 수있는 토토 핫 토토 핫열은 약 1GB입니다. (최대 값 허용 될 값n데이터 유형 선언은 그보다 적습니다. 그렇지 않을 것입니다 멀티 바이트 토토 핫로이를 변경하는 데 매우 유용합니다 인코딩 토토 핫 및 바이트 수를 상당히 어쨌든 다른. 긴 줄을 보관하고 싶다면 특정 상한, 사용텍스트또는캐릭터 다양한길이없이 임의의 길이 제한을 구성하기보다는 지정자입니다.)

팁 :사이에는 성능 차이가 없습니다 이 세 가지 유형은 빈 배치 유형을 사용합니다. 하는 동안토토 핫 (n)다른 데이터베이스 시스템의 성능 장점 그러한 장점 없음PostgreSQL. 대부분의 상황에서텍스트또는토토 핫 다양한대신 사용해야합니다.

참조섹션 4.1.2.1String Literals의 구문에 대한 정보 및 to토토 핫 : 문서 : 8.2 : 기능 및 연산자정보에 대한 정보 사용 가능한 연산자 및 기능. 데이터베이스 토토 핫 세트 텍스트 값을 저장하는 데 사용되는 토토 핫 세트를 결정합니다. ~을 위한 토토 핫 세트 지원에 대한 자세한 내용은 참조섹션 21.2.

예 8-1. 토토 핫 유형 사용

테이블 생성 테스트 1 (토토 핫 (4));
test1 값 ( 'Ok')에 삽입;
test1에서 a, char_length (a)를 선택하고; -(1)
a | char_length
------+----------
 OK |           2생성 테이블 테스트 2 (b varchar (5));
test2 값 ( 'Ok')에 삽입;
test2 값 ( '좋은')에 삽입;
test2 값에 삽입 ( '너무 길다');오류 : 유형 토토 핫에 비해 너무 긴 값 (5)test2 값에 삽입 ( '너무 길다':: varchar (5)); - 명시 적 잘림
test2에서 b, char_length (b)를 선택하십시오.b | char_length
-------+----------
 OK |           2
 좋은 |           5
 너무 l |           5
(1)
thechar_length함수 에서 논의PostgreSQL : 문서.

두 개의 다른 고정 길이 토토 핫 유형이 있습니다18618_18630, 표시테이블 8-5. 그만큼이름유형 존재전용식별자 저장 내부 시스템은 카탈로그이며 일반 사용자. 길이는 현재 64 바이트로 정의됩니다 (63 사용 가능한 토토 핫 + 종료기) 그러나 사용을 참조해야합니다 상수paminatalen. 길이는입니다 컴파일 시간에 설정 (따라서 특수 용으로 조정 가능) 용도); 기본 최대 길이는 향후 릴리스에서 변경 될 수 있습니다. 유형"char"(인용문 참고)입니다 와 다릅니다char (1)만 사용한다는 점에서 1 바이트의 저장. 시스템 카탈로그에 내부적으로 사용됩니다 가난한 사람의 열거 유형으로.

표 8-5. 특수 토토 핫 유형

이름 스토리지 크기 설명
"char" 1 바이트 단일 토토 핫 내부 유형
이름 64 바이트 개체 이름의 내부 유형