메이저 토토 사이트 생성유형 이름( 입력 =input_function, 출력 =출력_기능, 내부 길이 =내부 길이| 변수
[ , 외부 길이 =외부 길이| 변수 ]
[ , 기본값 =기본값]
[ , 요소 =요소] [ , DELIMITER =구분자]
[ , 보내기 =send_function] [ , 수신 =receive_function]
[ , 통과값 ]
[ , 정렬 =정렬]
[ , 저장용량 =저장 ]
)
생성될 유형의 이름.
내부 길이를 지정하는 리터럴 값 새로운 유형입니다.
외부 항목을 지정하는 리터럴 값 (표시) 새 메이저 토토 사이트의 길이입니다.
다음에 의해 생성된 함수의 이름함수 생성, 데이터를 다음에서 변환합니다. 외부 형식을 유형의 내부 형식으로 변환합니다.
다음에 의해 생성된 함수의 이름함수 생성, 데이터를 다음에서 변환합니다. 내부 형태를 디스플레이에 적합한 형태로 변경합니다.
생성되는 유형은 배열입니다. 이는 다음을 지정합니다. 배열 요소의 유형입니다.
값 사이에 사용되는 구분 문자입니다. 이 메이저 토토 사이트으로 구성된 배열입니다.
데이터 유형의 기본값입니다. 일반적으로 이것은 생략되었으므로 기본값은 NULL입니다.
다음에 의해 생성된 함수의 이름함수 생성, 다음의 데이터를 변환합니다. 이 유형을 전송에 적합한 형태로 변환합니다. 다른 기계.
다음에 의해 생성된 함수의 이름함수 생성, 다음의 데이터를 변환합니다. 이 유형은 다음에서 전송하기에 적합한 형식입니다. 다른 기계를 내부 형식으로 변환합니다.
데이터 유형의 스토리지 정렬 요구사항입니다. 만약에 지정되어야 합니다.문자, int2, int4또는더블; 기본값은int4.
데이터 유형에 대한 저장 기술. 지정한 경우, 이어야 합니다일반, 외부, 확장또는메인; 기본값은일반.
메이저 토토 사이트 생성사용자가 등록할 수 있도록 허용합니다. 현재 데이터에 사용하기 위한 PostgreSQL의 새로운 사용자 데이터 유형 베이스. 유형을 정의하는 사용자가 소유자가 됩니다.유형 이름은 새로운 유형의 이름이며 이 데이터베이스에 대해 정의된 유형 내에서 고유해야 합니다.
메이저 토토 사이트 생성등록이 필요합니다 정의하기 전에 두 함수 중 (CREATE FUNCTION 사용) 유형. 새로운 기본 유형의 표현은 다음과 같이 결정됩니다.input_function, 변환 유형의 외부 표현을 내부 표현으로 해당 유형에 대해 정의된 연산자 및 함수에서 사용할 수 있습니다. 당연히,출력_기능역변환을 수행합니다. 입력 기능은 다음과 같습니다. 유형의 인수 하나를 취하는 것으로 선언됨불투명, 또는 세 가지 유형의 인수를 사용하여불투명, OID, int4. (첫 번째 인수는 입력 텍스트입니다. C 문자열의 경우 두 번째 인수는 요소 유형입니다. 이것은 배열 메이저 토토 사이트이고 세 번째는 typmod입니다. 대상 열(알려진 경우).) 출력 함수는 다음과 같을 수 있습니다. 유형의 인수 하나를 취하는 것으로 선언됨불투명또는 두 가지 유형의 인수를 사용하여불투명, OID. (그만큼 첫 번째 인수는 실제로 데이터 유형 자체이지만 출력 함수를 먼저 선언해야 합니다. 선언하는 것이 더 쉽습니다. 수용 유형으로불투명. 두 번째 인수는 다시 배열 메이저 토토 사이트의 배열 요소 유형입니다.)
새로운 기본 데이터 메이저 토토 사이트은 고정 길이일 수 있으며, 이 경우내부 길이긍정적입니다
설정으로 표시되는 정수 또는 가변 길이내부 길이에변수. (내부적으로는 다음과 같이 표현됩니다.
typlen을 -1로 설정합니다.) 모든 내부 표현은
가변 길이 유형은 총계를 제공하는 정수로 시작해야 합니다.
이 유형 값의 길이입니다.
외부 표현 길이도 유사하게 지정됩니다.
를 사용하여외부 길이키워드.
(이 값은 현재 사용되지 않으며 일반적으로 생략됩니다.
기본값으로 설정변수.)
유형이 배열임을 나타내려면,
를 사용하는 배열 요소요소키워드. 예를 들어 4바이트 정수 배열을 정의하려면
("int4"), 지정
요소 = int4
배열 메이저 토토 사이트에 대한 자세한 내용은 아래에 나와 있습니다.
값 사이에 사용할 구분 기호를 나타냅니다. 이 유형의 배열의 외부 표현구분자특정 항목으로 설정할 수 있습니다. 성격. 기본 구분 기호는 쉼표(')입니다.,'). 구분 기호는 다음과 연관되어 있습니다. 배열 메이저 토토 사이트 자체가 아닌 배열 요소 유형입니다.
사용자가 열을 원하는 경우 기본값을 지정할 수 있습니다.
데이터 유형을 NULL이 아닌 다른 것으로 기본값으로 설정합니다. 지정하다
기본값은기본값키워드.
(이러한 기본값은 명시적으로 무시될 수 있습니다.기본값특정 항목에 첨부된 절
열.)
선택적 인수send_function그리고receive_function현재 사용되지 않습니다. 일반적으로 생략됩니다(기본값을 사용하도록 허용함output_function및input_function각각). 이것들 기능은 언젠가 지정에 사용하기 위해 부활할 수 있습니다. 기계 독립적인 이진 표현.
선택적 플래그,PASSEDBYVALUE,
이 데이터 메이저 토토 사이트의 값이 값으로 전달됨을 나타냅니다.
참고로보다는. 값으로 전달할 수는 없습니다.
내부 표현이 너비보다 긴 메이저 토토 사이트
그만큼데이텀메이저 토토 사이트(대부분 4바이트)
기계, 몇 개는 8바이트).
그정렬키워드 데이터 유형에 필요한 스토리지 정렬을 지정합니다. 그만큼 허용되는 값은 1, 2, 4 또는 8바이트 정렬과 동일합니다. 경계. 가변 길이 유형에는 반드시 를 포함하므로 최소 4개의 정렬이 필요합니다.int4첫 번째 구성요소로.
그저장키워드 허용 가변 길이 데이터 유형에 대한 저장 전략 선택 (오직일반고정 길이에 허용됩니다. 메이저 토토 사이트).일반다음에 대해 TOAST를 비활성화합니다. 데이터 유형: 항상 인라인으로 저장되며 압축되지 않습니다.확장전체 TOAST 기능 제공: 시스템은 먼저 긴 데이터 값을 압축하려고 시도하고 값이 여전히 너무 길면 기본 테이블 행 밖으로 값을 이동하세요.외부값 이동을 허용합니다. 기본 테이블에서 나오지만 시스템은 압축을 시도하지 않습니다. 그것.메인압축을 허용하지만 기본 테이블에서 값을 이동하는 것을 권장하지 않습니다. (데이터 항목 이 저장 방법을 사용하면 여전히 기본 테이블 밖으로 이동할 수 있습니다. 행을 적합하게 만드는 다른 방법은 없지만 유지됩니다. 기본 테이블에서 우선적으로 이상확장그리고외부항목.)
사용자 정의 데이터 유형이 생성될 때마다포스트그레SQL자동으로 생성됩니다. 기본 유형의 이름으로 구성된 연관된 배열 메이저 토토 사이트 이름 앞에 밑줄이 붙습니다. 파서는 이것을 이해합니다 명명 규칙을 준수하고 유형 열에 대한 요청을 변환합니다.foo[]메이저 토토 사이트 요청에_foo. 암시적으로 생성된 배열 유형은 가변 길이이며 내장 입력 및 출력을 사용합니다. 기능array_in그리고array_out.
합리적으로 물어볼 수도 있습니다."왜 거기에 있나요?
an요소옵션, 시스템이
자동으로 올바른 배열 메이저 토토 사이트을 만드나요?"유일한
사용하면 유용한 경우요소은 고정 길이를 만드는 경우입니다.
내부적으로 동일한 N개의 배열인 유형
N개 사물에 액세스할 수 있도록 허용하려고 합니다.
모든 작업 외에도 구독을 통해 직접
유형 전체를 제공할 계획입니다. 예를 들어 다음을 입력하세요.이름구성요소를 허용합니다문자s 이 방법으로 액세스할 수 있습니다. 2D포인트유형은 두 구성 요소 부동소수점을 허용할 수 있습니다.
다음과 같이 액세스할 수 있습니다.점[0]그리고점[1]. 참고로 이 시설은
내부 형식이 정확히 다음과 같은 고정 길이 유형에 대해 작동합니다.
N개의 동일한 필드 시퀀스. 첨자 가능한 가변 길이
유형에는 다음에서 사용되는 일반화된 내부 표현이 있어야 합니다.array_in그리고array_out. 역사적인 이유로(예:
분명히 틀렸지만 바꾸기에는 너무 늦었습니다), 구독
고정 길이 배열 메이저 토토 사이트은 0이 아닌 0부터 시작합니다.
하나는 가변 길이 배열입니다.
사용자 정의 유형 이름은 밑줄로 시작할 수 없습니다 성격 ("_") 길이는 30자(또는 일반적으로NAMEDATALEN-2보다는 그만큼NAMEDATALEN-1다음에 허용되는 문자 다른 이름). 밑줄로 시작하는 유형 이름은 예약되어 있습니다. 내부적으로 생성된 배열 메이저 토토 사이트 이름의 경우.
이 예는 다음을 생성합니다.상자데이터 유형 그런 다음 테이블 정의에서 유형을 사용합니다.
CREATE TYPE 상자(INTERNALLENGTH = 16,
INPUT = my_procedure_1, OUTPUT = my_procedure_2);
CREATE TABLE myboxes(ID INT4, 설명 상자);
만약상자의 내부 구조는 4개의 배열float4s, 대신에 말하다
CREATE TYPE 상자(INTERNALLENGTH = 16,
입력 = my_procedure_1, 출력 = my_procedure_2,
요소 = float4);
이것은 상자 값의 구성 요소 부동 소수점을 허용합니다. 구독을 통해 액세스됩니다. 그렇지 않으면 유형은 다음과 동일하게 동작합니다. 전에.
이 예는 대형 객체 유형을 생성하고 이를 다음에서 사용합니다. 테이블 정의:
CREATE TYPE bigobj(INPUT = lo_filein, OUTPUT = lo_fileout,
내부 길이 = 변수);
CREATE TABLE big_objs (id int4, obj bigobj);