the토토 캔
데이터 유형을 사용하여 토토 캔 데이터를 저장할 수 있습니다. 토토 캔 데이터를 A 저장보다는 이점이 있습니다.텍스트
필드는 성형에 대한 입력 값을 확인하고 유형-안전 작업을 수행하는 지원 함수가 있다는 것입니다. 보다섹션 9.15. 이 데이터 유형을 사용하여 설치는와 함께 구축해야합니다.configure-with-lib토토 캔
.
토토 캔
유형은 잘 형성 될 수 있습니다“문서”10285_10332“컨텐츠”파편, 더 허용적인 것을 참조하여 정의“문서 노드”10640_10797
특정 여부를 평가하는 데 사용할 수 있습니다토토 캔Value
is document토토 캔
값은 전체 문서이거나 콘텐츠 단편입니다.
제한 및 호환성 노트토토 캔
데이터 유형을 찾을 수 있습니다PostgreSQL : 문서 : 13 : D.3. 윈 토토 제한 및 SQL/윈 토토에 대한 적합성.
유형 값을 생성하려면토토 캔
문자 데이터에서 함수 사용토토 캔PARSE
:
토토 캔parse (document | contentvalue
)
예 :
토토 캔PARSE (Document '<? 토토 캔 버전 = "1.0"? <book <title 매뉴얼 </title <chapter ... </챕터 </book')
이것은 SQL 표준에 따라 문자열 문자열을 토토 캔 값으로 변환하는 유일한 방법이지만 PostgreSQL 특정 구문 :
토토 캔 '<FOO BAR </foo'
또한 사용할 수 있습니다.
the토토 캔
유형은 문서 유형 선언 (dtd)에 대한 입력 값을 유효성이 없습니다.입력 값이 DTD를 지정하는 경우에도. 현재 토토 캔 스키마와 같은 다른 토토 캔 스키마 언어에 대한 유효성 검사에 대한 내장 지원이 없습니다.
역 작동, 문자열 값을 생성토토 캔
, 함수 사용토토 캔serialize
:
토토 캔Serialize (document | contentvalue
as타입
)
타입
can be캐릭터
,캐릭터 다양한
또는텍스트
(또는 그 중 하나에 대한 별칭). 다시 한 번 SQL 표준에 따르면, 이것이 유형간에 변환하는 유일한 방법입니다토토 캔
및 문자 유형이지만 PostgreSQL도 간단히 값을 시전 할 수 있습니다.
문자열 값이 유형으로 또는 유형에서 주조되는 경우토토 캔
통과하지 않고토토 캔PARSE
또는토토 캔serialize
각각 선택의 선택문서
versus컨텐츠
“토토 캔 옵션” 세션 구성 매개 변수. 표준 명령을 사용하여 설정할 수 있습니다.
SET 토토 캔 옵션 Document | 콘텐츠 ;
또는 더 많은 Postgresql-like syntax
토토 캔option을 document |로 설정하십시오 콘텐츠 ;
기본값은컨텐츠
, 토토 캔 데이터의 모든 형태가 허용됩니다.
클라이언트, 서버 및 토토 캔 데이터에서 여러 문자 인코딩을 처리 할 때는주의를 기울여야합니다. 텍스트 모드를 사용하여 쿼리를 서버로 전달하고 클라이언트 (일반 모드)에 쿼리 결과를 전달할 때 PostgreSQL은 클라이언트와 서버 사이에 전달되는 모든 문자 데이터를 변환하며 그 반대는 각각의 끝의 문자 인코딩으로 변환합니다.토토 사이트 순위 : 문서 : 13 : 23.3. 캐릭터 토토 사이트 순위 지원. 여기에는 위의 예에서와 같이 토토 캔 값의 문자열 표현이 포함됩니다.토토 캔
타입은무시및 컨텐츠는 현재 서버 인코딩에 있다고 가정합니다. 결과적으로 올바른 처리를 위해서는 토토 캔 데이터의 문자열이 현재 클라이언트 인코딩의 클라이언트로부터 전송되어야합니다.토토 캔
인코딩 선언이 없으며 클라이언트는 모든 데이터가 현재 클라이언트 인코딩에 있다고 가정해야합니다.
이진 모드를 사용하여 쿼리 매개 변수를 서버로 전달하고 클라이언트로 다시 쿼리 결과를 전달할 때 인코딩 변환이 수행되지 않으므로 상황이 다릅니다. 이 경우, 토토 캔 데이터의 인코딩 선언이 관찰되며, 결여 된 경우 데이터는 UTF-8에있는 것으로 가정됩니다 (토토 캔 표준에 따라 필요한대로 PostgreSQL이 UTF-16을 지원하지 않음).
토토 캔 데이터 인코딩, 클라이언트 인코딩 및 서버 인코딩이 동일하면 PostgreSQL로 토토 캔 데이터를 처리하는 것이 오류가 덜 발생하고 효율적으로 작동합니다. 토토 캔 데이터는 UTF-8에서 내부적으로 처리되므로 서버 인코딩이 UTF-8이면 계산이 가장 효율적입니다.
서버 인코딩이 UTF-8이 아닌 경우 일부 토토 캔 관련 기능이 비 ASCII 데이터에서 전혀 작동하지 않을 수 있습니다. 이것은에 대한 문제로 알려져 있습니다.토토 캔table ()
andxpath ()
특히.
the토토 캔
데이터 유형은 비교 연산자를 제공하지 않는다는 점에서 비정상적입니다. 토토 캔 데이터에 대한 잘 정의되고 보편적으로 유용한 비교 알고리즘이 없기 때문입니다.토토 캔
검색 값에 대한 열. 따라서 토토 캔 값은 일반적으로 ID와 같은 별도의 키 필드를 동반해야합니다.
에 대한 비교 연산자가 없기 때문에토토 캔
데이터 유형에서는이 유형의 열에서 직접 색인을 생성 할 수 없습니다. 토토 캔 데이터의 빠른 검색이 원하는 경우, 가능한 해결 방법에는 표현식을 문자열 유형에 캐스트하고이를 인덱싱하거나 XPath 표현식을 색인화하는 것이 포함됩니다.
PostgreSQL의 텍스트 검색 기능을 사용하여 토토 캔 데이터의 전체 문서 검색 속도를 높일 수 있습니다. 그러나 필요한 전처리 지원은 아직 PostgreSQL 분포에서 사용할 수 없습니다.
문서에 올바른 것이 없다면 일치하지 않습니다.이 양식문서 문제를보고하려면