지원되는 버전 :현재(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

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

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

이 모듈이 고려됩니다신뢰할 수있는생성현재 데이터베이스의 권한.

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

AN의 텍스트 표현스포츠 토토 사이트10789_10842 = 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.

Note

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

출력에 따라 이중 인용문은 항상 키와 값을 둘러싸고 있습니다.

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

스포츠 토토 사이트모듈에 표시됩니다테이블 F.7, 함수테이블 F.8.

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

운영자

설명

예제

스포츠 토토 사이트 - 텍스트텍스트

주어진 키와 관련된 값을 반환합니다.null존재하지 않으면.

'a = x, b = y':: 스포츠 토토 사이트- 'a'x

스포츠 토토 사이트 - 텍스트 []텍스트 []

주어진 키와 관련된 값을 반환하거나NULL존재하지 않으면.

'a = x, b = y, c = z':: 스포츠 토토 사이트- 배열 [ 'c', 'a']"z", "x"

스포츠 토토 사이트 || 스포츠 토토 사이트스포츠 토토 사이트

두 가지스포츠 토토 사이트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"

Anylement #= 스포츠 토토 사이트Anylement

왼쪽 피연산자의 필드 (복합 유형이어야 함)의 필드를 값과 일치하는 값으로 대체스포츠 토토 사이트.

행 (1,3) #= 'f1 = 11':: 스포츠 토토 사이트(11,3)

%% 스포츠 토토 사이트텍스트 []

변환스포츠 토토 사이트교대 키와 값의 배열로.

%% 'a = foo, b = bar':: 스포츠 토토 사이트a, foo, b, bar

%# 스포츠 토토 사이트텍스트 []

변환스포츠 토토 사이트2 차원 키/값 배열로.

%# 'a = foo, b = bar':: 스포츠 토토 사이트a, foo, b, bar


표 F.8. 스포츠 토토 사이트기능

기능

설명

예제

스포츠 토토 사이트(레코드) →스포츠 토토 사이트

CROUMST AN스포츠 토토 사이트레코드 또는 행에서.

스포츠 토토 사이트 (ROW (1,2))"F1"= "1", "F2"= "2"

스포츠 토토 사이트(텍스트 []) →스포츠 토토 사이트

CROUMST AN스포츠 토토 사이트키/값 배열 또는 2 차원 배열 일 수있는 배열에서.

스포츠 토토 사이트 (배열 [ 'a', '1', 'b', '2'])"a"= "1", "b"= "2"

스포츠 토토 사이트 (배열 [[ 'c', '3'], [ 'd', '4'])"c"= "3", "d"= "4"

스포츠 토토 사이트(텍스트 [], 텍스트 []) →스포츠 토토 사이트

CROUMST AN스포츠 토토 사이트별도의 키 및 값 배열에서.

스포츠 토토 사이트 (배열 [ 'a', 'b'], 배열 [ '1', '2'])"a"= "1", "b"= "2"

스포츠 토토 사이트(텍스트, 텍스트) →스포츠 토토 사이트

단일 항목을 만듭니다스포츠 토토 사이트.

스포츠 토토 사이트 ( 'a', 'b')"a"= "b"

akeys(스포츠 토토 사이트) →텍스트 []

추출 AN스포츠 토토 사이트의 열쇠는 배열로

akeys ( 'a = 1, b = 2')a, b

Skeys(스포츠 토토 사이트) →텍스트 설정

추출 AN스포츠 토토 사이트의 키는 세트로서.

Skeys ( 'a = 1, b = 2')

a
비

avals(스포츠 토토 사이트) →텍스트 []

추출 AN스포츠 토토 사이트의 배열 값.

avals ( 'a = 1, b = 2')1,2

Svals(스포츠 토토 사이트) →텍스트 설정

추출 AN스포츠 토토 사이트의 값 세트로.

svals ( 'a = 1, b = 2')

1
2

스포츠 토토 사이트_to_array(스포츠 토토 사이트) →텍스트 []

추출 an스포츠 토토 사이트의 키와 값은 교대 키와 값의 배열로서 값입니다.

스포츠 토토 사이트_to_array ( 'a = 1, b = 2')a, 1, b, 2

스포츠 토토 사이트_to_matrix(스포츠 토토 사이트) →텍스트 []

추출 AN스포츠 토토 사이트의 키와 값은 2 차원 배열로서.

스포츠 토토 사이트_to_matrix ( 'a = 1, b = 2')a, 1, b, 2

스포츠 토토 사이트_to_json(스포츠 토토 사이트) →JSON

변환스포츠 토토 사이트aJSON값, 모든 비 널 값을 JSON 문자열로 변환합니다.

이 함수는 암시 적으로 사용됩니다스포츠 토토 사이트값은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

변환스포츠 토토 사이트aJSONB값, 모든 비 널 값을 JSON 문자열로 변환합니다.

이 함수는 암시 적으로 사용됩니다.스포츠 토토 사이트값은JSONB.

스포츠 토토 사이트_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

변환스포츠 토토 사이트to aJSON값이지만 숫자 및 부울 값을 구별하려고 시도하여 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": 1.234, "g": 2.345e+4

스포츠 토토 사이트_to_jsonb_loose(스포츠 토토 사이트) →JSONB

변환스포츠 토토 사이트aJSONB값이지만 숫자 및 부울 값을 구별하려고 시도하여 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

슬라이스(스포츠 토토 사이트, 텍스트 []) →스포츠 토토 사이트

an의 하위 집합 추출스포츠 토토 사이트지정된 키 만 포함합니다.

슬라이스 ( 'a = 1, b = 2, c = 3':: 스포츠 토토 사이트, 배열 [ 'b', 'c', 'x'])"b"= "2", "c"= "3"

(스포츠 토토 사이트) →기록( 텍스트, value 텍스트)

추출 AN스포츠 토토 사이트의 키와 값은 레코드 세트로서

선택 * 각각에서 ( 'a = 1, b = 2')

키 | 값
-----+-------
 A | 1
 B | 2

존재(스포츠 토토 사이트, 텍스트) →부울

do스포츠 토토 사이트키 포함?

존재 ( 'a = 1', 'a')T

정의(스포츠 토토 사이트, 텍스트) →부울

do스포츠 토토 사이트비 포함NULL키에 대한 가치?

정의 ( 'a = null', 'a')F

삭제(스포츠 토토 사이트, 텍스트) →스포츠 토토 사이트

일치 키와 쌍을 삭제합니다.

삭제 ( 'a = 1, b = 2', 'b')"a"= "1"

삭제(스포츠 토토 사이트, 텍스트 []) →스포츠 토토 사이트

일치하는 키와 쌍이 삭제됩니다.

삭제 ( 'a = 1, b = 2, c = 3', 배열 [ 'a', 'b']"C"= "3"

삭제(스포츠 토토 사이트, 스포츠 토토 사이트) →스포츠 토토 사이트

두 번째 인수에 일치하는 쌍을 삭제합니다.

delete ( 'a = 1, b = 2', 'a = 4, b = 2':: 스포츠 토토 사이트)"a"= "1"

popule_record(Anylement, 스포츠 토토 사이트) →Anylement

왼쪽 피연산자 (복합 유형이어야 함)의 필드를 값과 일치하는 값으로을 대체합니다.스포츠 토토 사이트.

popule_record (행 (1,2), 'f1 = 42':: 스포츠 토토 사이트)(42,2)


이러한 연산자 및 기능 외에도스포츠 토토 사이트유형을 위시 할 수 있으므로 연관 배열처럼 작동 할 수 있습니다. 유형의 단일 첨자텍스트지정할 수 있습니다. 키로 해석되며 해당 값이 가져 오거나 저장됩니다. 예를 들어,

생성 테이블 mytable (h 스포츠 토토 사이트);
mytable 값에 삽입 ( 'a = b, c = d');
mytable에서 h [ 'a']를 선택하십시오.
 시간
---
 비
(1 줄)

mytable set h [ 'c'] = 'new'업데이트;
mytable에서 h를 선택하십시오.
          시간
------------------------
 "a"= "b", "c"= "new"
(1 행)

구독 페치 반환NULL첨자가있는 경우NULL또는 그 키가에 존재하지 않습니다스포츠 토토 사이트. (따라서 구독 된 페치는와 크게 다르지 않습니다.-운영자.) 첨자가있는 경우 첨자 업데이트가 실패합니다.NULL; 그렇지 않으면 해당 키의 값을 대체하여에 항목을 추가합니다.스포츠 토토 사이트키가 아직 존재하지 않는 경우

F.16.3. 인덱스

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

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

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

gist_스포츠 토토 사이트_opsGist Opclass는 비트 맵 서명으로 키/값 쌍 세트를 근사합니다. 선택적 정수 매개 변수Siglen시그니처 길이를 바이트로 결정합니다. 기본 길이는 16 바이트입니다. 서명 길이의 유효한 값은 1 내지 2024 바이트입니다. 서명이 길어 더 큰 인덱스 비용으로 더 정확한 검색 (인덱스의 작은 부분과 더 적은 힙 페이지를 스캔)으로 이어집니다.

서명 길이 32 바이트를 가진 인덱스 생성 예 :

GIST (H GIST_스포츠 토토 사이트_OPS (siglen = 32))를 사용하여 TestHstore에서 인덱스 HIDX를 만듭니다.

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

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

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

F.16.4. 예

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

업데이트 탭 세트 H [ 'C'] = '3';

같은 일을하는 또 다른 방법은 다음과 같습니다.

업데이트 탭 세트 H = H || 스포츠 토토 사이트 ( 'c', '3');

한 번의 작업에서 여러 키를 추가하거나 변경하려면 연결 접근 방식이 첨자보다 효율적입니다.

업데이트 탭 세트 H = H || 스포츠 토토 사이트 (배열 [ 'q', 'w'], 배열 ['11 ','12 '];

키 삭제 :

업데이트 탭 세트 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.16.5. 통계

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

간단한 예 :

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

테이블 사용 :

테이블 통계를 선택하여 (각각 (h)). 키, (각 (h)). test스포츠 토토 사이트의 값;

온라인 통계 :

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

F.16.6. 호환성

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

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

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

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

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

theAlter Table메소드가 필요합니다액세스 독점테이블에 잠그지 만 오래된 행 버전으로 테이블을 팽창 시키지는 않습니다.

F.16.7. 변환

|스포츠 토토 사이트언어 pl/perl 및 pl/python의 유형. PL/Perl의 확장자를라고합니다.스포츠 토토 사이트_plperland스포츠 토토 사이트_plperlu, 신뢰할 수 있고 신뢰할 수없는 pl/perl. 이 변환을 설치하고 함수를 만들 때 지정하면스포츠 토토 사이트값은 Perl 해시에 매핑됩니다. PL/Python의 확장을라고합니다.스포츠 토토 사이트_plpythonu, 스포츠 토토 사이트_plpython2u스포츠 토토 사이트_plpython3u(참조PostgreSQL : 문서 : 14 : 46.1. 토토 베이 2 vs. 토토 베이 3pl/python naming 컨벤션의 경우). 사용하면스포츠 토토 사이트값은 Python 사전에 매핑되었습니다.

주의

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

F.16.8. 저자

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

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

Andrew Gierth의 추가 향상, 영국

수정 제출

문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면