>47_word_end<>48_word_end<
>24_word_end<되는 버전 :>69_word_end<(17>72_word_end<16 / 15 / 14 / 13
>84_word_end<18 / >87_word_end<
이 문서는 >24_word_end<되지 않는 버전의 PostgreSQL을위한 것입니다.
>133_word_end<>69_word_end<버전 또는 위에 나열된 다른 >24_word_end< 버전 중 하나입니다.

>158_word_end<

>160_word_end<>161_word_end<>162_word_end<

>165_word_end<

a>168_word_end<>169_word_end<>170_word_end<are 허용된). >168_word_end<은 256 바이트 길이 이상이어야합니다.

>173_word_end<42, >176_word_end<

a>168_word_end< 경로는 0의 시퀀스입니다 또는 더 많은 >168_word_end<이 점으로 분리됩니다. 예를 들어>181_word_end<, a의 루트에서 나오는 경로를 나타냅니다 특정 노드에 계층 적 트리. >168_word_end<의 길이 경로는 65kb 미만이어야>271_word_end< 2kb 아래로 유지하는 것은 선택할 만한. 실제로 이것은 주요 제한이 아닙니다. ~을 위한 예를 들어, DMOZ 카탈로그에서 가장 긴 >168_word_end< 경로 (>183_word_end<>184_word_end<

>173_word_end<>187_word_end<

>161_word_end<>190_word_end<

  • >161_word_end<>168_word_end< 경로를 저장합니다.

  • >199_word_end<>200_word_end<>161_word_end<>333_word_end< 간단한 단어는 해당 >168_word_end<과 >488_word_end<합니다 길 안에. 별 기호 (*) 0 이상의 >168_word_end<과 >488_word_end<합니다. 예를 들어:

    >206_word_end<정확한 >168_word_end< 경로 >488_word_end<>206_word_end<*.>206_word_end<.*>168_word_end<이 포함 된 >223_word_end< 경로 >488_word_end<>206_word_end<*.>206_word_end<마지막 >168_word_end<이있는 >223_word_end< 경로 >488_word_end<>206_word_end<
    
    

    별 기호는 또한 얼마나 많은지를 제한하기 위해 정량화 될 수 있습니다. >488_word_end< 할 수있는 >168_word_end< :

    *n>221_word_end<n>223_word_end<*n,>227_word_end<n>223_word_end<*n,m>227_word_end<n>236_word_end<m>223_word_end<>239_word_end<M>241_word_end<M>223_word_end< ->244_word_end<m

    끝에 넣을 수있는 몇 가지 수정자가 있습니다. 비 스타 >168_word_end<의>248_word_end<>249_word_end<

    @>252_word_end<>253_word_end<>254_word_end<a
    *           예를 들어이 접두사와 >223_word_end<을 >488_word_end<시킵니다>206_word_end<*>254_word_end<>206_word_end%>262_word_end<
    
    

    >265_word_end<>266_word_end<>267_word_end<>206_word_end<_bar%>254_word_end<>206_word_end<_bar_baz>271_word_end<>206_word_end<_barbaz>273_word_end<*>275_word_end<>206_word_end<_bar%*>254_word_end<>206_word_end<1_bar2_baz>271_word_end<>280_word_end<.

    또한 수정 된 여러 >168_word_end<을 쓸 수 있습니다 분리|(또는) >488_word_end<합니다 그 >168_word_end< 중에서!(NOT) 처음에는 >488_word_end<하지 않는 >168_word_end<과 >488_word_end<합니다. 대안 중 하나입니다.

    >289_word_end<>248_word_end<:

    상단.>244_word_end<2 .sport*@.! 풋볼 | Tennis.russ*| >323_word_end<
         에이.  비.     기음.      디.               이자형.

    이 쿼리는 >153_word_end<과 같은 >223_word_end< 경로와 >488_word_end<합니다.

    1. >168_word_end<로 >841_word_end<합니다>300_word_end<

    2. 그리고 >153_word_end<은 >145_word_end<에 0에서 두 개의 >168_word_end<이 있습니다

    3. 케이스 감수성 접두사로 >841_word_end<하는 >168_word_end<>309_word_end<

    4. 그러면 >488_word_end<하지 않는 >168_word_end<>314_word_end<>315_word_end<>316_word_end<

    5. |>321_word_end<또는 >221_word_end<하는>323_word_end<.

  • >330_word_end<>331_word_end<>161_word_end<>333_word_end<>330_word_end<>335_word_end<@, *, %>341_word_end<>199_word_end<>343_word_end<>344_word_end<>345_word_end<|>347_word_end<!>349_word_end<>248_word_end<>351_word_end<>330_word_end<단어와 >488_word_end<합니다 >223_word_end< 경로에서의 >840_word_end<에 대한 고려.

    >355_word_end<>330_word_end<:

    >362_word_end< 및 >364_word_end<*@ >344_word_end366_word_end<

    이것은 >168_word_end<을 포함하는 경로와 >488_word_end<합니다>362_word_end<로 >841_word_end<하는 모든 >168_word_end<>364_word_end<(사례에 민감하지 않음) >168_word_end<을 포함하는 경로>366_word_end<>367_word_end<%사용됩니다. 단어는 어떤 것과 >488_word_end< 할 수 있습니다 >223_word_end< 내에서 밑줄로 구분 된 단어 >840_word_end<.

>373_word_end<>330_word_end<whitespace를 허용합니다 기호 사이, >236_word_end<>161_word_end<>377_word_end<>248_word_end<>379_word_end<

>383_word_end<

>385_word_end<>161_word_end<>387_word_end<=, >390_word_end<, >390_word_end<, , >390_word_end<=, =. 비교는 순서대로 정렬됩니다 노드의 어린이가 >168_word_end< >560_word_end<. 또한 >153_word_end<과 같은 전문화 된 것입니다 >404_word_end< :

>402_word_end<>161_word_end<>404_word_end<

>404_word_end< >414_word_end< >416_word_end<
>161_word_end< @ >161_word_end< >428_word_end< >430_word_end<
>161_word_end< >390_word_end<@ >161_word_end< >428_word_end< >442_word_end<
>161_word_end< ~ >248_word_end< >428_word_end< >454_word_end<>161_word_end<>254_word_end<>248_word_end<?
>199_word_end< ~ >161_word_end< >428_word_end< >454_word_end<>161_word_end<>254_word_end<>248_word_end<?
>161_word_end< ? >199_word_end< [] >428_word_end< >454_word_end<>161_word_end<>488_word_end<>248_word_end<>490_word_end<
>199_word_end< [] ? >161_word_end< >428_word_end< >454_word_end<>161_word_end<>488_word_end<>248_word_end<>490_word_end<
>161_word_end< @ >330_word_end< >428_word_end< >454_word_end<>161_word_end<>254_word_end<>330_word_end<?
>330_word_end< @ >161_word_end< >428_word_end< >454_word_end<>161_word_end<>254_word_end<>330_word_end<?
>161_word_end< >544_word_end< >161_word_end< >161_word_end< >550_word_end<>161_word_end<>552_word_end<
>161_word_end< >544_word_end< >560_word_end< >161_word_end< >560_word_end< 변환>161_word_end<>566_word_end<
>560_word_end< >544_word_end< >161_word_end< >161_word_end< >560_word_end< 변환>161_word_end<>566_word_end<
>161_word_end< [] @ >161_word_end< >428_word_end< >592_word_end<>161_word_end<?
>161_word_end< >390_word_end<@ >161_word_end< [] >428_word_end< >606_word_end<>161_word_end<?
>161_word_end< [] >390_word_end<@ >161_word_end< >428_word_end< >620_word_end<>161_word_end<?
>161_word_end< @ >161_word_end< [] >428_word_end< >634_word_end<>161_word_end<?
>161_word_end< [] ~ >248_word_end< >428_word_end< 배열은 모든 경로 >488_word_end<를 포함합니까>248_word_end<?
>248_word_end< ~ >161_word_end< [] >428_word_end< 배열이 모든 경로 >488_word_end<를 포함합니까>248_word_end<?
>161_word_end< [] ? >199_word_end< [] >428_word_end< >454_word_end<>161_word_end<배열이 포함되어 있습니다 >488_word_end<하는 경로>248_word_end<?
>199_word_end< [] ? >161_word_end< [] >428_word_end< >454_word_end<>161_word_end<배열이 포함되어 있습니다 >488_word_end<하는 경로>248_word_end<?
>161_word_end< [] @ >330_word_end< >428_word_end< 배열은 모든 경로 >488_word_end<를 포함합니까>330_word_end<?
>330_word_end< @ >161_word_end< [] >428_word_end< 배열이 모든 경로 >488_word_end<가 포함되어 있습니까>330_word_end<?
>161_word_end< [] >730_word_end< >161_word_end< >161_word_end< >736_word_end<>161_word_end<>738_word_end<
>161_word_end< [] ? >390_word_end<@ >161_word_end< >161_word_end< >750_word_end<>161_word_end<>738_word_end<
>161_word_end< [] >758_word_end< >248_word_end< >161_word_end< >488_word_end<하는 첫 번째 배열 항목>248_word_end<>738_word_end<
>161_word_end< [] >730_word_end< >330_word_end< >161_word_end< >488_word_end<하는 첫 번째 배열 항목>330_word_end<>738_word_end<

>786_word_end<>390_word_end<@, @, @>377_word_end<~>794_word_end<^>390_word_end<@, >797_word_end<, >797_word_end<, >801_word_end<>802_word_end<

>153_word_end< >810_word_end<을 사용할 수 있습니다.

>808_word_end<>161_word_end<>810_word_end<

>810_word_end< >414_word_end< 유형 >416_word_end< >826_word_end< >828_word_end<
Sub>161_word_end< (>161_word_end<, int start, 의도하다) >161_word_end< >838_word_end<>161_word_end<>840_word_end<>841_word_end<>840_word_end<end-1 (0에서 카운트) Sub>161_word_end< ( 'top.child1.child2', 1,2) Child1
subpath (>161_word_end<, int 오프셋, int len) >161_word_end< >838_word_end<>161_word_end<>841_word_end< >840_word_end<오프셋, 길이Len. 만약에오프셋부정적, 서브 포트가 >841_word_end<됩니다 길의 끝에서 멀리 떨어져 있습니다. 만약에Len부정적이고, 많은 사람들이 잎을 남겨 둡니다 경로 끝의 >168_word_end<. subpath ( 'top.child1.child2', 0,2) top.child1
subpath (>161_word_end<, int 오프셋) >161_word_end< >838_word_end<>161_word_end<27520_27556오프셋, 확장 경로 끝으로. 만약에오프셋IS 부정적인, subpath는 끝에서 멀어지기 >841_word_end<합니다. 길. subpath ( 'top.child1.child2', 1) child1.child2
nlevel (>161_word_end<) Integer 경로의 >168_word_end< 수 nlevel ( 'top.child1.child2') 3
색인 (젠 토토 A, 젠 토토 비) Integer 첫 번째 발생 >840_word_end<Bina; -1 찾을 수없는 경우 index ( '0.1.2.3.5.4.5.6.8.5.6.8', '5.6') 6
Index (Ltree A, Ltree B, Int 오프셋) Integer 첫 번째 발생 >840_word_end<Bina, 에서 >841_word_end<하는 검색오프셋; 부정적인오프셋start-오프셋끝의 >168_word_end< 길 index ( '0.1.2.3.5.4.5.6.8.5.6.8', '5.6', -4) 9
Text2>161_word_end< (Text) >161_word_end< 캐스트>560_word_end<to>161_word_end<
>161_word_end<2text (>161_word_end<) >560_word_end< 캐스트>161_word_end<to>560_word_end<
LCA (젠 토토, 젠 토토, ...) >161_word_end< 가장 낮은 공통 조상, 즉 가장 긴 공통 접두사 경로의 (최대 8 개의 인수 >24_word_end<) LCA ( '1.2.2.3', '1.2.3.4.5.6') 1.2
LCA (>161_word_end< []) >161_word_end< 가장 낮은 공통 조상, 즉 가장 긴 공통 접두사 경로 LCA (배열 [ '1.2.2.3':: >161_word_end<, '1.2.3']) 1.2

F.15.3. 인덱스

>161_word_end<여러 유형의 >24_word_end< 표시된 >786_word_end< 속도를 높일 수있는 인덱스 :

  • B-Tree 젠 토토 over>161_word_end<: >390_word_end<, >390_word_end<=, =, =,

  • Gist 젠 토토 over>161_word_end<: >390_word_end<, >390_word_end<=, =, =, , @, >390_word_end<@, @, ~, ?

    그러한 색인 생성의 >173_word_end<

    GIST (PATH)를 사용하여 테스트시 인덱스 CATE PATH_GIST_IDX 생성;
  • Gist 젠 토토 over>161_word_end< []: >161_word_end< [] >390_word_end<@ >161_word_end<, >161_word_end< @ >161_word_end< [], @, ~, ?

    그러한 색인 생성의 >173_word_end<

    GIST (Array_Path)를 사용하여 테스트에서 색인 CREATE PATH_GIST_IDX;

    >373_word_end<이 인덱스 유형은 손실됩니다.

F.15.4. 예

이 예제는 >153_word_end< 데이터를 사용합니다 (파일에서도 사용 가능Contrib/>161_word_end161_word_end소스 배포) :

테이블 테스트 생성 (Path Ltree);
테스트 값에 삽입 ( '>300_word_end<');
테스트 값에 삽입 ( 'top.science');
테스트 값에 삽입 ( 'top.science.astronomy');
테스트 값에 삽입 ( 'top.science.astronomy.astrophysics');
테스트 값에 삽입 ( 'top.science.astronomy.cosmology');
테스트 값에 삽입 ( 'top.hobbies');
테스트 값에 삽입 ( 'top.hobbies.amateurs_astronomy');
테스트 값에 삽입 ( 'top.collections');
테스트 값에 삽입 ( 'top.collections.pictures');
테스트 값에 삽입 ( 'top.collections.pictures.astronomy');
테스트 값에 삽입 ( 'top.collections.pictures.astronomy.stars');
테스트 값에 삽입 ( 'top.collections.pictures.astronomy.galaxies');
테스트 값에 삽입 ( 'top.collections.pictures.astronomy.astronauts');
GIST (PATH)를 사용하여 테스트시 인덱스 PATH_GIST_IDX를 만듭니다.
btree (path);을 사용하여 테스트에서 색인 path_idx를 만듭니다.

이제 테이블이 있습니다테스트아래에 표시된 계층을 >416_word_end<하는 데이터가 채워져 있습니다.

상단
                         / |  \
                 과학 취미 컬렉션
                     / |              \
            천문학 Amateurs_astronomy 사진
               / \ |
    천체 물리학 우주론 천문학
                                            / |    \
                                     은하의 스타 우주 비행사

우리는 상속을 할 수 있습니다 :

>161_word_end390_word_end<@ 'top.science'테스트에서 경로를 선택합니다.
                길
---------------------------------------
 상위. 과학
 Top.science.astronomy
 Top.science.astronomy.astrophysics
 top.science.astronomy.cosmology
(4 줄)

경로 >488_word_end<의 몇 가지 예는 >153_word_end<과 같습니다.

>161_word_end161_word_end

    

>153_word_end<은 전체 >560_word_end< 검색의 몇 가지 예입니다.

>161_word_end344_word_end161_word_end344_word_end

    

함수 사용 경로 구성 :

>161_word_end544_word_end< 'space'>544_word_end< subpath (path, 2)를 선택하여 경로 >390_word_end<@ 'top.science.astronomy';
                 ?열?
-----------------------------------------------
 Top.science.space.astronomy
 top.science.space.astronomy.astrophysics
 top.science.space.astronomy.cosmology
(3 줄)

우리는 SQL 함수를 만들어이를 단순화 할 수 있습니다. 경로에서 지정된 >840_word_end<에 >168_word_end<을 삽입합니다.

함수 생성 INS_LABEL (>161_word_end<, int, >560_word_end<)은 >161_word_end<를 >414_word_end<합니다
AS 'SELECT SUBPATH ($ 1,0, $ 2) >544_word_end< $ 3 >544_word_end< Subpath ($ 1, $ 2); '
언어 SQL 불변;

>161_word_end390_word_end<@ 'top.science.astronomy'에서 테스트에서 선택합니다.
                INS_LABEL
-----------------------------------------------
 Top.science.space.astronomy
 top.science.space.astronomy.astrophysics
 top.science.space.astronomy.cosmology
(3 줄)

F.15.5. 저자

모든 작업은 Teo>454_word_end

<>206_word_end
정책 | 행동 강령 | postgresql 소개 | contact

Copyright © 1996-2025 Postgresql Global >87_word_end

206_word_end