지원되는 버전 :현재(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.15. 토토 사이트 순위

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

F.15.1.토토 사이트 순위외부 표현

AN의 텍스트 표현토토 사이트 순위9398_9451 = 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.15.2.토토 사이트 순위운영자 및 기능

토토 사이트 순위모듈에 표시표 F-8, 함수표 F-9.

테이블 F-8.토토 사이트 순위운영자

운영자 설명 example 결과
토토 사이트 순위 - 텍스트 key value (null존재하지 않으면) 'a = x, b = y':: 토토 사이트 순위- 'a' x
토토 사이트 순위 - 텍스트 [] 키 값 가져 오기 (null존재하지 않으면) 'a = x, b = y, c = z':: 토토 사이트 순위- 배열 [ 'c', 'a'] "z", "x"
토토 사이트 순위 || 토토 사이트 순위 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':: 토토 사이트 순위? & array [ '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토토 사이트 순위2 차원 키/값 배열 %# 'a = foo, b = bar':: 토토 사이트 순위 a, foo, b, bar

참고 :PostgreSQL 8.2 이전, 격리 연산자@and<@@and~16590_16802

테이블 F-9.토토 사이트 순위기능

기능 반환 유형 설명 example 결과
토토 사이트 순위 (레코드) 토토 사이트 순위 구성토토 사이트 순위레코드 또는 행에서 토토 사이트 순위 (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
토토 사이트 순위 (텍스트 [], 텍스트 []) 토토 사이트 순위 구성토토 사이트 순위별도의 키 및 값 배열에서 토토 사이트 순위 (배열 [ 'a', 'b'], 배열 [ '1', '2']) "a"= "1", "b"= "2"
토토 사이트 순위 (텍스트, 텍스트) 토토 사이트 순위 단일 항목 만들기토토 사이트 순위 토토 사이트 순위 ( 'a', 'b') "A"= "B"
akeys (토토 사이트 순위) 텍스트 [] get토토 사이트 순위의 열쇠로 배열 akeys ( 'a = 1, b = 2') a, b
Skeys (토토 사이트 순위) 텍스트 설정 get토토 사이트 순위의 키는 세트로 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
토토 사이트 순위_to_json (토토 사이트 순위) JSON get토토 사이트 순위asJSON값, 모든 비 널 값을 JSON 문자열로 변환 토토 사이트 순위_to_json ( ' "키"= 1, b = t, c = null, d = 12345, e = 012345, f = 1.234, g = 2.345e+4') "키": "1", "b": "t", "c": null, "d": "12345", "e": "012345", "f": "1.234", "g": "2.345e+4"
토토 사이트 순위_TO_JSONB (토토 사이트 순위) JSONB get토토 사이트 순위asJSONB값, 모든 비 널 값을 JSON 문자열로 변환 토토 사이트 순위_to_jsonb ( ' "키"= 1, b = t, c = null, d = 12345, e = 012345, f = 1.234, g = 2.345e+4'). "키": "1", "b": "t", "c": null, "d": "12345", "e": "012345", "f": "1.234", "g": "2.345e+4"
토토 사이트 순위_to_json_loose (토토 사이트 순위) JSON get토토 사이트 순위asJSON값, 그러나 숫자 및 부울 값을 구별하여 JSON에서 인용되지 않도록 시도합니다 토토 사이트 순위_TO_JSON_LOOSE ( 'a key "= 1, b = t, c = null, d = 12345, e = 012345, f = 1.234, g = 2.345e+4') "키": 1, "b": true, "c": null, "d": 12345, "e": "012345", "f": "g": 2.345e+4
토토 사이트 순위_to_jsonb_loose (토토 사이트 순위) JSONB get토토 사이트 순위asJSONB값, 그러나 JSON에서 인용되지 않도록 수치 및 부울 값을 구별하려고 시도합니다. 토토 사이트 순위_to_jsonb_loose ( ' "키"= 1, b = t, c = null, d = 12345, e = 012345, f = 1.234, g = 2.345e+4') "키": 1, "B": true, "c": null, "d": 12345, "e": "012345", "f": "g": 2.345e+4
슬라이스 (토토 사이트 순위, text []) 토토 사이트 순위 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 []) 토토 사이트 순위 일치하는 키와 쌍 삭제 삭제 ( 'a = 1, b = 2, c = 3', 배열 [ 'a', 'b'] "C"= "3"
삭제 (토토 사이트 순위, 토토 사이트 순위) 토토 사이트 순위 두 번째 인수에 일치하는 쌍을 삭제 삭제 ( 'a = 1, b = 2', 'a = 4, b = 2':: 토토 사이트 순위) "a"= "1"
popule_record (record, 토토 사이트 순위) 레코드 필드 교체레코드일치하는 값토토 사이트 순위 예제 섹션 참조

참고 :함수토토 사이트 순위_to_json토토 사이트 순위값은JSON. 비슷하게,토토 사이트 순위_TO_JSONB토토 사이트 순위값은JSONB.

참고 :함수popule_record실제로Anylement, 아님레코드, 첫 번째 인수로서 런타임 오류가있는 비 레코드 유형을 거부합니다.

F.15.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.15.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.15.5. 통계

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

간단한 예 :

선택 * 각각에서 ( 'aaa = bq, b = null, ""= 1');

테이블 사용 :

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

온라인 통계 :

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

F.15.6. 호환성

PostgreSQL 9.0,.토토 사이트 순위이전 버전과 다른 내부 표현을 사용합니다. 이것은 텍스트 표현 (덤프에서 사용)이 변하지 않기 때문에 덤프/복원 업그레이드에 대한 장애물을 제시하지 않습니다.

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

업데이트 태블니 이름 세트 토토 사이트 순위col = 토토 사이트 순위col || '';

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

토토 사이트 순위col을 사용한 토토 사이트 순위COL 유형 토토 사이트 순위 || '';

theAlter Table메소드는 테이블의 독점 잠금이 필요하지만 오래된 행 버전으로 테이블을 팽창 시키지는 않습니다.

F.15.7. 변환

|토토 사이트 순위언어 pl/perl 및 pl/python을 입력하십시오. PL/Perl의 확장자를라고합니다.토토 사이트 순위_plperl토토 사이트 순위_plperlu, 신뢰할 수 있고 신뢰할 수없는 pl/perl. 이 변환을 설치하고 함수를 만들 때 지정하면토토 사이트 순위값은 Perl 해시에 매핑됩니다. PL/Python의 확장을라고합니다.토토 사이트 순위_plpythonu, 토토 사이트 순위_plpython2u토토 사이트 순위_plpython3u(참조PostgreSQL : 문서 : 9.5 : 스포츠 토토 사이트 2 vs. 스포츠 토토 사이트 3PL/Python 이름 지정 규칙). 사용하면토토 사이트 순위값은 Python 사전에 매핑됩니다.

주의

변환 확장 기능을 동일한 스키마에에 설치하는 것이 좋습니다토토 사이트 순위. 그렇지 않으면 Transform Extension의 스키마에 적대적인 사용자가 정의한 개체가 포함 된 경우 설치 시간 보안 위험이 있습니다.

F.15.8. 저자

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

Teodor Sigaev, Moscow, Delta-Soft Ltd., 러시아

Andrew Gierth의 추가 향상, 영국