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

F.13. 스포츠 토토 사이트

이 모듈은를 구현합니다.스포츠 토토 사이트데이터 단일 내에서 키/값 쌍 세트를 저장하기위한 유형PostgreSQL값. 이것은 될 수 있습니다 많은 속성을 가진 행과 같은 다양한 시나리오에서 유용합니다. 거의 검사되지 않거나 반 구조화 된 데이터. 열쇠와 값은 단순히 텍스트 문자열입니다.

F.13.1.스포츠 토토 사이트외부 표현

an의 텍스트 표현스포츠 토토 사이트, 입력 및 출력에 사용되며 0 이상 포함 = value분리 된 쌍 쉼표. 몇 가지 예 :

k = v
foo = bar, baz = 뭐든지
"1-a"= "무엇이든"

쌍의 순서는 중요하지 않습니다 ( 출력에 재현 됨). 쌍 스포츠 토토 사이트 또는 주변 스포츠 토토 사이트의 공백=표시가 무시됩니다. 이중 쿼트 Whitespace, Commas,을 포함하는 키 및 값=s 또는s. 포함합니다 이중 인용문 또는 키 또는 값의 백 슬래시, 백 슬래시.

an의 각 키스포츠 토토 사이트고유합니다. 만약에 당신은 선언합니다스포츠 토토 사이트복제본이 있습니다 키,에만 저장됩니다.스포츠 토토 사이트그리고 어느 것이 의지에 대한 보장이 없습니다 보관 :

선택 'a = 1, a = 2':: 스포츠 토토 사이트;
  스포츠 토토 사이트
---------
 "a"= "1"

값 (키가 아님)은 SQL 일 수 있습니다null. 예를 들어:

key = null

thenull키워드입니다 사례에 민감합니다. 두 배의 ~null그것을 일반 문자열로 취급하려면"null".

참고 :스포츠 토토 사이트텍스트 형식, 입력에 사용될 때, 적용필요한 인용 또는 탈출. 당신이 통과하는 경우스포츠 토토 사이트매개 변수를 통한 리터럴 추가 처리가 필요하지 않습니다. 하지만 지나가는 경우 그것은 인용 된 문자 그대로 상수로, 단일 쿼트입니다 문자 및 (의 설정에 따라Standard_Conforming_strings구성 매개 변수) 백 슬래시 문자를 피해야합니다 바르게. 보다섹션 4.1.2.1문자열 처리에 대한 자세한 내용 상수.

출력에 대한 이중 인용문은 항상 키와 값을 둘러싸고 있습니다. 엄격하게 필요하지 않은 경우에도

F.13.2.스포츠 토토 사이트운영자 및 기능

표 F-6.스포츠 토토 사이트운영자

운영자 설명 example 결과
스포츠 토토 사이트 - 텍스트 key value get key (NULLif 존재하지 않음) 'a = x, b = y':: 스포츠 토토 사이트 - 'a' x
스포츠 토토 사이트 - 텍스트 [] 키 값 가져 오기 (NULL존재하지 않으면) 'a = x, b = y, c = z ':: 스포츠 토토 사이트- 배열 ['c ','a '] "z", "x"
텍스트 = 텍스트 단일 쌍을 만들기스포츠 토토 사이트 'a'= 'b' "a"= "b"
스포츠 토토 사이트 || 스포츠 토토 사이트 Concatenate스포츠 토토 사이트S 'a = b, c = d':: 스포츠 토토 사이트 || 'c = x, d = q':: 스포츠 토토 사이트 "a"= "b", "c"= "x", "D"= "Q"
스포츠 토토 사이트 ? 텍스트 do스포츠 토토 사이트키 포함? 'a = 1':: 스포츠 토토 사이트? '에이' t
스포츠 토토 사이트 ? & 텍스트 [] do스포츠 토토 사이트모두 포함하십시오 지정된 키? 'a = 1, b = 2':: 스포츠 토토 사이트 ? & 배열 [ 'a', 'b'] T
스포츠 토토 사이트 ? | 텍스트 [] do스포츠 토토 사이트지정된 키? 'a = 1, b = 2':: 스포츠 토토 사이트? | 배열 [ 'b', 'c'] t
스포츠 토토 사이트 @ 스포츠 토토 사이트 왼쪽 피연산자가 맞습니까? 'a = b, b = 1, c = null ':: 스포츠 토토 사이트 @'b = 1 ' t
스포츠 토토 사이트 <@ 스포츠 토토 사이트 왼쪽 피연산자가 오른쪽에 포함되어 있습니까? 'a = c':: 스포츠 토토 사이트 <@ 'a = b, b = 1, c = null' F
스포츠 토토 사이트 - 텍스트 왼쪽 피연산자에서 키 삭제 'a = 1, b = 2, C = 3 ':: 스포츠 토토 사이트-'B ':: Text "a"= "1", "C"= "3"
스포츠 토토 사이트 - 텍스트 [] 왼쪽 피연산자에서 키 삭제 'a = 1, b = 2, C = 3 ':: 스포츠 토토 사이트- 배열 ['A ','B '] "C"= "3"
스포츠 토토 사이트 - 스포츠 토토 사이트 왼쪽 피연산자에서 일치하는 쌍 삭제 'a = 1, b = 2, c = 3 ':: 스포츠 토토 사이트-'a = 4, b = 2 ':: 스포츠 토토 사이트 "a"= "1", "C"= "3"
레코드 #= 스포츠 토토 사이트 필드 교체레코드일치하는 값스포츠 토토 사이트 예제 섹션 참조
%% 스포츠 토토 사이트 Convert스포츠 토토 사이트배열 키와 값이 번갈아 가며 %% 'a = foo, b = bar ':: 스포츠 토토 사이트 a, foo, b, bar
%# 스포츠 토토 사이트 Convert스포츠 토토 사이트to 2 차원 키/가치 배열 %# 'a = foo, b = bar ':: 스포츠 토토 사이트 a, foo, b, bar

참고 :PostgreSQL 8.2 이전, 격리 연산자@and<@|@and~각각. 이 이름 여전히 사용 가능하지만 감가 상각되며 결국에는 없습니다 제거됩니다. 이전 이름은 컨벤션은 이전에 핵심 기하학적 데이터가 뒤 따릅니다 유형!

참고 :the=운영자 더 이상 사용되지 않으며 향후 릴리스에서 제거 될 수 있습니다. 사용 그만큼스포츠 토토 사이트 (텍스트, 텍스트)함수 대신에.

테이블 F-7.스포츠 토토 사이트기능

기능 반환 유형 설명 example 결과
스포츠 토토 사이트 (레코드) 스포츠 토토 사이트 구성스포츠 토토 사이트a 기록 또는 행 스포츠 토토 사이트 (ROW (1,2)) f1 = 1, f2 = 2
스포츠 토토 사이트 (text []) 스포츠 토토 사이트 구성스포츠 토토 사이트에서 키/값 배열 일 수있는 배열 또는 2 차원 배열 스포츠 토토 사이트 (배열 [ 'a', '1', 'b', '2']))) || 스포츠 토토 사이트 (배열 [[ 'c', '3'], [ 'd', '4']) a = 1, b = 2, c = 3, d = 4
스포츠 토토 사이트 (Text [], 텍스트[]) 스포츠 토토 사이트 구성스포츠 토토 사이트별도의 키 및 가치 배열 스포츠 토토 사이트 (배열 [ 'a', 'b'], 배열 [ '1', '2']) "a"= "1", "b"= "2"
스포츠 토토 사이트 (텍스트, 텍스트) 스포츠 토토 사이트 단일 항목 만들기스포츠 토토 사이트 스포츠 토토 사이트 ( 'a', 'b') "A"= "B"
akeys (스포츠 토토 사이트) 텍스트 [] get스포츠 토토 사이트의 키로 정렬 akeys ( 'a = 1, b = 2') a, b
Skeys (스포츠 토토 사이트) 텍스트 설정 get스포츠 토토 사이트의 키는 a 세트 Skeys ( 'a = 1, b = 2')
a
비
avals (스포츠 토토 사이트) 텍스트 [] get스포츠 토토 사이트의 값으로 정렬 avals ( 'a = 1, b = 2') 1,2
SVALS (스포츠 토토 사이트) 텍스트 설정 get스포츠 토토 사이트의 값으로 세트 svals ( 'a = 1, b = 2')
1
2
스포츠 토토 사이트_to_array (스포츠 토토 사이트) 텍스트 [] get스포츠 토토 사이트의 키와 값 교대 키와 값의 배열로 스포츠 토토 사이트_to_array ( 'a = 1, b = 2') a, 1, b, 2
스포츠 토토 사이트_to_matrix (스포츠 토토 사이트) 텍스트 [] get스포츠 토토 사이트의 키와 값 2 차원 배열로 스포츠 토토 사이트_to_matrix ( 'a = 1, b = 2') a, 1, b, 2
슬라이스 (Hstore, 텍스트[]) 스포츠 토토 사이트 an의 하위 집합 추출스포츠 토토 사이트 슬라이스 ( 'a = 1, b = 2, c = 3':: 스포츠 토토 사이트, 배열 [ 'b', 'c', 'x'] "b"= "2", "C"= "3"
각 (스포츠 토토 사이트) setof (키 텍스트, 값 텍스트) get스포츠 토토 사이트의 키와 값 세트로 선택 *에서 각각 ( 'a = 1, b = 2')
키 | 값
-----+-------
 A | 1
 B | 2
존재 (스포츠 토토 사이트, text) 부울 do스포츠 토토 사이트키 포함? 존재 ( 'a = 1', 'a') t
정의 (스포츠 토토 사이트, text) 부울 do스포츠 토토 사이트포함 비NULL키 가치? 정의 ( 'a = null', 'a') F
삭제 (스포츠 토토 사이트, text) 스포츠 토토 사이트 일치하는 키와 쌍 삭제 삭제 ( 'a = 1, b = 2', 'b') "a"= "1"
삭제 (스포츠 토토 사이트, text []) 스포츠 토토 사이트 일치하는 키와 쌍 삭제 delete ( 'a = 1, b = 2, c = 3', 배열 [ 'a', 'b'] "C"= "3"
삭제 (스포츠 토토 사이트, 스포츠 토토 사이트) 스포츠 토토 사이트 두 번째 쌍과 일치하는 쌍을 삭제합니다 논쟁 삭제 ( 'a = 1, b = 2', 'a = 4, b = 2':: 스포츠 토토 사이트) "a"= "1"
popule_record (record, 스포츠 토토 사이트) 레코드 필드 교체레코드일치하는 값스포츠 토토 사이트 예제 섹션 참조

참고 :함수popule_record실제로Anylement, 아님레코드, 첫 번째 주장으로서 런 타임 오류로 비 레코드 유형을 거부하십시오.

F.13.3. 인덱스

스포츠 토토 사이트GIST 및 GIN Index 지원이 있습니다@, ?, ? &and? |운영자. 예를 들어:

GIST (H)를 사용하여 TestHstore에서 인덱스 HIDX 작성;

gin (h);을 사용하여 test스포츠 토토 사이트에서 인덱스 HIDX를 만듭니다.

스포츠 토토 사이트또한 지원btree또는HASH=운영자. 이것은 허용스포츠 토토 사이트선언 될 열고유 한또는그룹 by, 주문 by또는별도의표현. 정렬 주문스포츠 토토 사이트값은 아닙니다 특히 유용하지만 이러한 인덱스는 유용 할 수 있습니다 동등성 조회. 인덱스 작성=다음과 같이 비교 :

btree (h)를 사용하여 test스포츠 토토 사이트에서 인덱스 HIDX 생성;

해시 (h);을 사용하여 TestHstore에서 인덱스 HIDX를 만듭니다.

F.13.4. 예

키를 추가하거나 새로운 값으로 기존 키를 업데이트하십시오.

업데이트 탭 세트 H = H || ( 'C'= '3');

키 삭제 :

업데이트 탭 세트 H = 삭제 (h, 'k1');

변환레코드to an스포츠 토토 사이트:

테이블 테스트 생성 (COL1 Integer, Col2 Text, Col3 Text);
테스트 값에 삽입 (123, 'foo', 'bar');

test로 ts로 스포츠 토토 사이트 (t)를 선택하십시오.
                   스포츠 토토 사이트                    
----------------------------------------------------------
 "col1"= "123", "col2"= "foo", "col3"= "bar"
(1 행)

변환스포츠 토토 사이트사전 정의 된레코드유형 :

테이블 테스트 생성 (Col1 Integer, Col2 Text, Col3 Text);

populate_record에서 *를 선택하십시오 (null :: test,
                              ' "col1"= "456", "col2"= "zzz"');
 col1 | col2 | col3 
------+------+------
  456 | ZZZ | 
(1 행)

AN을 사용하여 기존 레코드를 수정합니다스포츠 토토 사이트:

테이블 테스트 작성 (COL1 Integer, Col2 Text, Col3 Text);
테스트 값에 삽입 (123, 'foo', 'bar');

선택 (r).
 col1 | col2 | col3 
------+------+------
  123 | foo | 바즈
(1 행)

F.13.5. 통계

the스포츠 토토 사이트그로 인해 타입 본질적인 자유는 다양한 키를 포함 할 수 있습니다. 유효한 키를 확인하는 것은 응용 프로그램의 작업입니다. 그만큼 다음 예제는 확인을위한 몇 가지 기술을 보여줍니다 키 및 통계 받기.

간단한 예 :

select * 각각 ( 'aaa = bq, b = null, ""= 1');

테이블 사용 :

select (각 (h)). 키, (각 (h)). test스포츠 토토 사이트에서 STAT 로의 값;.

온라인 통계 :

키를 선택하고, count (*)
  (test스포츠 토토 사이트의 키)를 STAT로 선택하십시오
  키 별 그룹
  Count Desc, Key에 의한 주문;
    키 | 세다
----------+-------
 라인 |   883
 쿼리 |   207
 pos |   203
 노드 |   202
 공간 |   197
 상태 |   195
 공개 |   194
 제목 |   190
 org |   189
...................

F.13.6. 호환성

나이가 올로 업그레이드 할 때 버전, 항상이 모듈의 새 버전을 덤프를 복원하기 전에 데이터베이스. 그렇지 않으면 많은 새로운 기능 사용할 수 없습니다.

PostgreSQL 9.0,.스포츠 토토 사이트a 이전 버전과 다른 내부 표현. 이것 텍스트 이후 덤프/복원 업그레이드에 장애물이 없습니다 표현 (덤프에서 사용)은 변하지 않습니다.

이진 업그레이드의 경우 상향 호환성은 다음과 같습니다. 새 코드가 구식 데이터를 인식하도록하여 유지 관리합니다. 이는 처리시 약간의 성능 페널티가 수반됩니다 새 코드로 아직 수정되지 않은 데이터. 그것은 테이블 열에서 모든 값의 업그레이드를 강제로업데이트진술 : 다음은 다음과 같습니다.

업데이트 태블니 이름 세트 스포츠 토토 사이트col = 스포츠 토토 사이트col || '';

그렇게하는 또 다른 방법은 다음과 같습니다.

스포츠 토토 사이트col을 사용한 스포츠 토토 사이트COL 유형 스포츠 토토 사이트 || '';

theAlter Table메소드가 필요합니다 테이블의 독점 잠금 장치이지만 팽만감은 없습니다. 오래된 행 버전이있는 테이블.

F.13.7. 저자

Oleg Bartunov, 모스크바, 모스크바 대학교, 러시아

Teodor Sigaev, 모스크바, 델타-소프트 Ltd., 러시아

Andrew Gierth의 추가 향상, 영국