지원되는 버전:현재 (18) / 17 / 16 / 15 / 14
개발 버전:개발
지원되지 않는 버전:13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

8.13. 토토 사이트유형

토토 사이트데이터 유형을 사용하여 토토 사이트을 저장할 수 있습니다. 데이터. 토토 사이트 데이터를 a에 저장하는 것보다 장점이 있습니다.텍스트필드는 다음에 대한 입력 값을 확인한다는 것입니다. 정형화되어 있고, 수행하는 지원 기능이 있습니다 이에 대한 유형 안전 작업; 참조섹션 9.14. 이 데이터 유형의 사용 다음을 사용하여 설치해야 합니다.구성 --with-lib토토 사이트.

토토 사이트유형은 올바른 형식으로 저장할 수 있습니다."문서"9848_9895"내용"프로덕션에 의해 정의된 조각토토 사이트Decl? 내용토토 사이트 표준에서. 대략적으로 이 이는 콘텐츠 조각이 둘 이상의 최상위 수준을 가질 수 있음을 의미합니다. 요소 또는 문자 노드. 표현토토 사이트값IS 문서특정 여부를 평가하는 데 사용할 수 있습니다.토토 사이트값은 전체 문서이거나 내용일 뿐입니다. 조각.

8.13.1. 만들기 토토 사이트 값

유형의 값을 생성하려면토토 사이트에서 문자 데이터, 함수를 사용하세요토토 사이트parse:

토토 사이트PARSE( 문서 | 콘텐츠)

예:

토토 사이트PARSE (DOCUMENT '<?토토 사이트 version="1.0"?<book<title수동</title<chapter...</chapter</book')
토토 사이트PARSE(CONTENT 'abc<foobar</foo<barfoo</bar')

이것은 문자열을 토토 사이트로 변환하는 유일한 방법이지만 SQL 표준에 따른 값, PostgreSQL 관련 구문:

토토 사이트 '<foo바</foo'
'<foo바</foo'::토토 사이트

또한 사용할 수 있습니다.

토토 사이트유형이 입력을 검증하지 않습니다. 문서 유형 선언(DTD)에 대한 값 입력 값은 DTD를 지정합니다. 또한 현재 내장되어 있지 않습니다. 다음과 같은 다른 토토 사이트 스키마 언어에 대한 유효성 검사 지원 토토 사이트 스키마.

역연산, 문자열 값 생성토토 사이트, 함수를 사용합니다토토 사이트직렬화:

토토 사이트SERIALIZE( 문서 | 콘텐츠AS유형 )

유형될 수 있습니다문자, 문자 다양또는텍스트(또는 그 중 하나의 별칭). 다시, SQL 표준에 따르면 이것이 변환하는 유일한 방법입니다. 유형 사이토토 사이트및 문자 유형, 그러나 PostgreSQL을 사용하면 간단히 값을 캐스팅할 수도 있습니다.

문자열 값이 유형으로 또는 유형에서 캐스트되는 경우토토 사이트통과하지 않고토토 사이트PARSE또는토토 사이트SERIALIZE, 각각의 선택은문서콘텐츠에 의해 결정됩니다"토토 사이트 옵션"세션 구성 표준 명령을 사용하여 설정할 수 있는 매개변수입니다.

토토 사이트 옵션 설정  문서 | 내용 ;

또는 PostgreSQL과 유사한 구문

토토 사이트option을  문서로 설정 | 내용 ;

기본값은콘텐츠, 따라서 모든 형태의 토토 사이트 데이터가 허용됩니다.

참고:기본 토토 사이트 옵션 설정으로는 다음을 수행할 수 없습니다. 문자열을 유형으로 직접 캐스팅합니다.토토 사이트문서 유형 선언이 포함된 경우 정의가 토토 사이트 콘텐츠 조각 중 이를 허용하지 않습니다. 꼭 해야 할 일이 있다면 그 중 하나를 사용하십시오토토 사이트PARSE또는 다음을 변경하세요. 토토 사이트 옵션입니다.

8.13.2. 인코딩 취급

여러 문자를 다룰 때는 주의가 필요합니다 클라이언트, 서버 및 전달된 토토 사이트 데이터의 인코딩 그들. 텍스트 모드를 사용하여 서버에 쿼리를 전달하는 경우 클라이언트에 대한 쿼리 결과(일반 모드), PostgreSQL 클라이언트와 클라이언트 사이에 전달되는 모든 문자 데이터를 변환합니다. 서버와 그 반대의 경우도 마찬가지입니다. 끝; 참조PostgreSQL : 문서 : 9.3 : 문자 세트 토토 베이. 여기에는 다음이 포함됩니다 위와 같은 토토 사이트 값의 문자열 표현 예. 이는 일반적으로 인코딩 선언을 의미합니다. 토토 사이트 데이터에 포함된 문자 데이터는 유효하지 않게 될 수 있습니다. 클라이언트와 클라이언트 간을 이동하는 동안 다른 인코딩으로 변환됨 서버, 내장된 인코딩 선언이 변경되지 않기 때문입니다. 이 동작에 대처하기 위해 에 대한 입력을 위해 표시되는 문자열토토 사이트유형은무시, 콘텐츠는 다음과 같이 가정됩니다. 현재 서버 인코딩에서. 결과적으로 올바른 처리하려면 토토 사이트 데이터의 문자열을 다음에서 전송해야 합니다. 현재 클라이언트 인코딩의 클라이언트입니다. 그것은의 책임이다 클라이언트는 문서를 현재 클라이언트로 변환하거나 서버로 보내기 전에 인코딩하거나 클라이언트를 조정하기 위해 적절하게 인코딩합니다. 출력 시 유형의 값토토 사이트인코딩 선언이 없으며 클라이언트는 모든 데이터가 현재 클라이언트 인코딩에 있다고 가정해야 합니다.

바이너리 모드를 사용하여 쿼리 매개변수를 서버에 전달할 때 쿼리 결과를 클라이언트로 다시 보내며 문자 집합은 변환하지 않습니다. 수행되므로 상황이 다릅니다. 이 경우, 토토 사이트 데이터의 인코딩 선언이 관찰됩니다. 없으면 데이터는 utf-8에 있는 것으로 간주됩니다( 토토 사이트 표준; PostgreSQL은 UTF-16을 지원하지 않습니다.) 켜짐 출력, 데이터에는 다음을 지정하는 인코딩 선언이 있습니다. 클라이언트 인코딩(클라이언트 인코딩이 utf-8인 경우는 제외) 생략하겠습니다.

말할 필요도 없이 PostgreSQL로 토토 사이트 데이터를 처리하는 것은 토토 사이트 데이터 인코딩을 사용하면 오류가 덜 발생하고 더 효율적입니다. 클라이언트 인코딩과 서버 인코딩은 동일합니다. 토토 사이트 데이터 이후 utf-8에서 내부적으로 처리되며 계산이 가장 많이 수행됩니다. 서버 인코딩도 utf-8이면 효율적입니다.

주의

일부 토토 사이트 관련 기능은 ASCII가 아닌 데이터에서는 전혀 작동하지 않을 수 있습니다. 서버 인코딩이 utf-8이 아닌 경우. 이는 문제가 있는 것으로 알려져 있습니다. 에 대한xpath()특히.

8.13.3. 접근 중 토토 사이트 값

토토 사이트데이터 유형은 다음과 같은 점에서 특이합니다. 비교 연산자를 제공하지 않습니다. 있기 때문이죠 토토 사이트에 대해 잘 정의되고 보편적으로 유용한 비교 알고리즘이 없습니다. 데이터. 그 결과 중 하나는 행을 검색할 수 없다는 것입니다. 비교하는토토 사이트검색에 대한 열 가치. 따라서 토토 사이트 값에는 일반적으로 ID와 같은 별도의 키 필드입니다. 다음을 위한 대체 솔루션 토토 사이트 값을 비교하는 것은 먼저 문자열로 변환하는 것입니다. 그러나 문자열 비교는 문자열 비교와 거의 관련이 없습니다. 유용한 토토 사이트 비교 방법입니다.

다음에 대한 비교 연산자가 없으므로토토 사이트데이터 유형, 색인을 생성할 수 없습니다 이 유형의 열에 직접 연결됩니다. 토토 사이트 데이터를 빠르게 검색하는 경우 원하는 경우 가능한 해결 방법에는 표현식을 다음으로 캐스팅하는 것이 포함됩니다. 문자열 유형 및 인덱싱 또는 XPath 인덱싱 표현. 물론 실제 쿼리는 조정되어야 합니다. 색인화된 표현식으로 검색합니다.

PostgreSQL의 텍스트 검색 기능은 다음 용도로도 사용할 수 있습니다. 토토 사이트 데이터의 전체 문서 검색 속도를 높입니다. 필요한 그러나 전처리 지원은 아직 PostgreSQL 배포.