이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 8.3. 사설 토토 유형버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

8.3. 배트맨 토토 유형

표 8-4. 배트맨 토토 유형

이름 설명
배트맨 토토 다양(n), varchar(n) 제한이 있는 가변 길이
배트맨 토토(n), 배트맨 토토(n) 고정 길이, 공백 패딩
텍스트 변수 무제한 길이

테이블 8-4다음에서 사용할 수 있는 범용 배트맨 토토 유형을 표시합니다.PostgreSQL.

SQL두 개의 기본을 정의합니다 배트맨 토토 유형:배트맨 토토 다양(n)그리고배트맨 토토(n), 여기서n은 양의 정수입니다. 둘 다 이러한 유형은 최대 배트맨 토토열을 저장할 수 있습니다.n배트맨 토토(바이트 아님) 길이입니다. 안 이러한 유형의 열에 더 긴 배트맨 토토열을 저장하려고 하면 초과 배트맨 토토가 모두 공백이 아닌 한 오류가 발생합니다. 이 경우 배트맨 토토열은 최대 길이까지 잘립니다. (이 다소 기괴한 예외는 다음에서 요구됩니다.SQLstandard.) 저장할 배트맨 토토열이 선언된 길이보다 짧음, 유형의 값배트맨 토토스페이스가 채워집니다. 유형 값배트맨 토토 다양함단순히 짧은 배트맨 토토열.

명시적으로 값을 캐스팅하는 경우배트맨 토토 다양한(n)또는배트맨 토토(n), 그리고 길이를 초과하는 값은 다음과 같이 잘립니다.n오류가 발생하지 않는 배트맨 토토. (이 너무 필요합니다.SQL표준.)

표기법varchar(n)그리고배트맨 토토(n)다음의 별칭입니다.배트맨 토토 다양(n)그리고배트맨 토토(n)각각.배트맨 토토길이 지정자가 없는 것은 다음과 같습니다.배트맨 토토(1). 만일배트맨 토토 다양함길이 지정자 없이 사용되며 유형은 다음을 허용합니다. 모든 크기의 배트맨 토토열. 후자는포스트그레SQL확장.

또한,PostgreSQL제공텍스트배트맨 토토열을 저장하는 유형 어떤 길이든. 유형이지만텍스트아님 에서SQL표준, 여러 다른 SQL 데이터베이스 관리 시스템에도 이 기능이 있습니다.

유형 값배트맨 토토물리적으로 지정된 너비까지 공백으로 채워짐n이며, 그런 식으로 저장되고 표시됩니다. 그러나 패딩 공간은 의미상으로 처리됩니다. 중요하지 않은. 두 개를 비교할 때 후행 공백은 무시됩니다. 유형 값배트맨 토토, 그러면 그들은 a 변환 시 제거됨배트맨 토토값 다른 배트맨 토토열 유형 중 하나입니다. 후행 공백에 유의하세요.아르의미적으로 중요한 것배트맨 토토 다양그리고텍스트값, 패턴 일치를 사용할 때 예를 들어좋아요, 정규식.

짧은 배트맨 토토열(최대 126바이트)에 대한 저장 요구사항은 다음과 같습니다. 1바이트에 공백 패딩을 포함하는 실제 배트맨 토토열을 더한 값 의 경우배트맨 토토. 긴 배트맨 토토열에는 4개가 있습니다. 1 대신에 바이트의 오버헤드를 가집니다. 긴 배트맨 토토열은 다음과 같이 압축됩니다. 시스템이 자동으로 작동하므로 디스크에 대한 물리적 요구 사항은 덜. 매우 긴 값도 백그라운드 테이블에 저장되므로 더 짧은 열 값에 대한 빠른 액세스를 방해하지 않습니다. 어쨌든, 가능한 가장 긴 배트맨 토토열은 저장된 용량은 약 1GB입니다. (허용되는 최대값n데이터 유형 선언의 내용은 다음과 같습니다. 그보다 적습니다. 이것을 변경하는 것은 유용하지 않습니다. 멀티바이트 배트맨 토토는 배트맨 토토 수와 바이트 수를 인코딩합니다. 상당히 다를 수 있습니다. 긴 배트맨 토토열을 저장하지 않고 저장하고 싶다면 특정 상한, 사용텍스트또는배트맨 토토 다양길이 지정자가 없으면 오히려 임의의 길이 제한을 구성하는 것보다.)

팁:이 세 가지 성능 차이는 없습니다. 사용시 수납공간이 늘어나는 것과는 별개로 공백 패딩 유형 및 길이를 확인하기 위한 몇 가지 추가 CPU 주기 길이가 제한된 열에 저장할 때. 동안배트맨 토토(n)있음 일부 다른 데이터베이스 시스템에서는 성능 이점이 없지만 그러한 이점은포스트그레SQL; 안으로 사실배트맨 토토(n)보통 세 가지 중 가장 느립니다. 추가 저장 비용 때문입니다. 대부분의 상황에서텍스트또는배트맨 토토 다양함대신 사용해야 합니다.

참조섹션 4.1.2.1배트맨 토토열 리터럴 구문에 대한 정보PostgreSQL : 문서 : 9.3 : 토토 사이트 추천 및 연산자정보는 다음과 같습니다. 사용 가능한 연산자 및 함수. 데이터베이스 배트맨 토토 집합 텍스트 값을 저장하는 데 사용되는 배트맨 토토 세트를 결정합니다. 더 많은 것을 위해 배트맨 토토 집합 지원에 대한 자세한 내용은 참조섹션 22.3.

예 8-1. 배트맨 토토 유형 사용

CREATE TABLE test1 (배트맨 토토(4));
test1 값에 삽입('확인');
SELECT a, char_length(a) FROM test1; --(1)
a | char_length
------+---------------
 알았어 |           2CREATE TABLE test2 (b varchar(5));
test2 값에 삽입('확인');
test2 값에 삽입('양호');
test2 값에 삽입('너무 깁니다');오류: 유형 배트맨 토토 변경에 비해 값이 너무 깁니다(5)test2 값에 삽입('너무 깁니다'::varchar(5)); -- 명시적 잘림
SELECT b, char_length(b) FROM test2;b | char_length
-----+-------------
 알았어 |           2
 좋아 |           5
 나도 |           5

다음에는 두 가지 다른 고정 길이 배트맨 토토 유형이 있습니다.PostgreSQL, 다음에 표시됨테이블 8-5.이름유형이 존재함식별자 저장용 내부 시스템 카탈로그에 있으며 다음 사용자가 사용하도록 의도되지 않았습니다. 일반 사용자. 현재 길이는 64바이트(63바이트)로 정의되어 있습니다. 사용 가능한 배트맨 토토와 종결자)를 사용하여 참조해야 합니다. 상수NAMEDATALENinC소스 코드. 길이는 컴파일 타임에 설정됩니다. (따라서 특별한 용도로 조정 가능) 기본 최대값 향후 릴리스에서는 길이가 변경될 수 있습니다. 유형"배트맨 토토"(따옴표 참고)는 다음과 다릅니다.배트맨 토토(1)단 1바이트의 저장 공간만 사용합니다. 그것은 단순한 열거형으로 시스템 카탈로그에서 내부적으로 사용됩니다. 유형.

표 8-5. 특수 배트맨 토토 유형

이름 저장소 크기 설명
"배트맨 토토" 1바이트 싱글바이트 내부 유형
이름 64바이트 객체 이름의 내부 유형